SQL查询-使用唯一值将2个表合并为1个表

SQL查询-使用唯一值将2个表合并为1个表,sql,Sql,我试图编写一个select查询,将两个表合并到一个查询中,从1中提取列,并将它们与另一个中的1列合并 我的两个源表如下所示: dbCalendar Year | Month ------------ 2017 | 1 2017 | 2 2017 | 3 2017 | 4 dbClients Name ---- Client1 Client2 Client3 我努力实现的结果是: Year | Month | Name ---------------------- 2017 | 1 |

我试图编写一个select查询,将两个表合并到一个查询中,从1中提取列,并将它们与另一个中的1列合并

我的两个源表如下所示:

dbCalendar
Year | Month
------------
2017 | 1
2017 | 2
2017 | 3
2017 | 4

dbClients
Name
----
Client1
Client2
Client3
我努力实现的结果是:

Year | Month | Name
----------------------
2017 | 1     | Client1
2017 | 2     | Client1
2017 | 3     | Client1
2017 | 4     | Client1
2017 | 1     | Client2
2017 | 2     | Client2
2017 | 3     | Client2
2017 | 4     | Client2
2017 | 1     | Client3
2017 | 2     | Client3
2017 | 3     | Client3
2017 | 4     | Client3
我是否认为这是一个嵌套查询?任何帮助都将不胜感激


谢谢

您试图实现的被称为“笛卡尔积”,而且它非常简单:

SELECT * FROM dbCalendar, dbClients

您试图实现的是所谓的“笛卡尔积”,它非常简单:

SELECT * FROM dbCalendar, dbClients

交叉联接将表的每一行联接到另一个表的每一行

SELECT * FROM dbCalendar CROSS JOIN dbClients;

交叉联接将表的每一行联接到另一个表的每一行

SELECT * FROM dbCalendar CROSS JOIN dbClients;

您可以使用交叉联接,也可以只选择两个表名 e、 g


两者都将返回相同的结果。

您可以使用交叉连接,也可以只选择两个表名 e、 g

两者都将返回相同的结果