Помощь SQL нужна при объединении двух таблиц - PullRequest
0 голосов
/ 11 сентября 2018

У меня есть столбец [Date] в [Table1] и столбец [Actions] в [Table2]

[Table1] выглядит так:

Date
----
2018-01-01
2018-01-02
...
2018-02-28
2018-03-01
...
2018-12-31

[Table2] выглядит:

Actions
-------
Action1
Action2
Action3
...

Я хочу создать [Table3], чтобы он выглядел так:

Date       | Actions 
--------------------
2018-01-01 | Action1
2018-01-02 | Action1
...
2018-02-28 | Action1
2018-03-01 | Action1
...
2018-12-31 | Action1
2018-01-01 | Action2
2018-01-02 | Action2
...
2018-02-28 | Action2
2018-03-01 | Action2
...
2018-12-31 | Action2
2018-01-01 | Action3
2018-01-02 | Action3
...
2018-02-28 | Action3
2018-03-01 | Action3
...
2018-12-31 | Action3
...

Другими словами, чтобы назначить во все даты все действия.Есть ли команда SQL для этого?Спасибо.

Ответы [ 2 ]

0 голосов
/ 11 сентября 2018

ниже запроса также даст декартово произведение продукции

SELECT * FROM table1,table2
0 голосов
/ 11 сентября 2018

Кажется, вы хотите декартово произведение. В SQL вы делаете это, используя CROSS JOIN:

select t1.date, t2.action
from t1 cross join
     t2
order by t2.action, t1.date;

То, как вы сохраните это в таблице, зависит от базы данных, которую вы используете. Обычно это будет либо create table table3 as select . . ., либо select . . . into table3 from . . ..

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...