sql查询:为每个条目添加多个值

pinkon5k  于 2021-06-25  发布在  Mysql
关注(0)|答案(4)|浏览(354)

如何使用表1和表2编写一个sql查询来创建“newtable”,其结果类似于下面的“newtable”?

Table1   
 EmmployeeID
|     1     |
|     2     |
|     3     |

  Table2
 AgencyID
|   a    |
|   b    |
|   c    |

              NewTable
      |EmmployeeID|AgencyID|
      |     1     |   a    |
      |     1     |   b    |
      |     1     |   c    |
      |     2     |   a    |
      |     2     |   b    |
      |     2     |   c    |
      |     3     |   a    |
      |     3     |   b    |
      |     3     |   c    |
epggiuax

epggiuax1#

使用 CROSS APPLY 或者 CROSS JOIN . 例如,

declare @a table (a int)
declare @b table (b char(1))

insert @a values (1),(2)
insert @b values ('a'),('b')

select * from @a cross apply @b order by a
yuvru6vn

yuvru6vn2#

合并两个表通常意味着 JOIN .
生成行的每个可能组合(“配对”)通常意味着“笛卡尔积”,也称为 CROSS JOIN ,如下所示:

select EmployeeID, AgencyID
from Table1 CROSS JOIN Table2
f8rj6qna

f8rj6qna3#

尝试使用

CREATE TABLE NewTable
select EmmployeeID,AgencyID 
from Table1,Table2
fivyi3re

fivyi3re4#

创建第三个表,然后 INSERT 通过执行 CROSS JOINTable1 以及 Table2 ```
CREATE TABLE NewTable
(
EmployeeID int,
AgencyID varchar,
);

INSERT INTO NewTable
select EmployeeID, AgencyID
from Table1 CROSS JOIN Table2

相关问题