如何连接具有不同列的两个表

裂缝

有两个表(table1 有 2 行,table2 有 3 行)。我需要连接这两个表并获得输出(5 行),如预期结果所示。

我尝试过连接、联合,但行数成倍增加。

使用此代码创建表。

DECLARE @Table1 AS TABLE
(
    versionid int, 
    substrate varchar(5), 
    yyyyww int, 
    [type] varchar (10), 
    itm_id varchar(15), 
    qty int, 
    assy_yield float,
    assy_start int 
)
INSERT INTO @Table1 (versionid,substrate,yyyyww, 
    [type],itm_id,qty,assy_yield,assy_start ) VALUES
(6704, 'E123',201919,'ASSEMBLY','2000-029-848',15537,0.997,15584),
(6704, 'E123',201919,'ASSEMBLY','2000-029-849',11578,0.997,11613)

DECLARE @Table2 AS TABLE
    (
    versionid int, 
    substrate varchar(5), 
    yyyyww int, 
    [type] varchar (10), 
    itm_id varchar(15), 
    qty int, 
    assy_yield float,
    assy_start int,
    test_yield float 
)
INSERT INTO @Table2 (versionid,substrate,yyyyww, 
    [type],itm_id,qty,assy_yield,assy_start, test_yield) VALUES
(6704, 'E123',201919,'TEST','2000-029-866',176,0.997,182,0.9707),
(6704, 'E123',201919,'TEST','2000-029-868',14,0.997,15,0.9707),
(6704, 'E123',201919,'TEST','2000-029-870',9,0.997,10,0.9707)

预期结果:

versionid   substrate   yyyyww  type        type1   itm_id          itm_id1         qty     qty1    assy_yield  assy_start  assy_start1     test_yield
--------------------------------------------------------------------------------------------------------------------------------------------------------
6704        E123        201919  ASSEMBLY    n.a.    2000-029-848    n.a.            15537   n.a.    0.997       15584       n.a.            n.a.
6704        E123        201919  ASSEMBLY    n.a.    2000-029-849    n.a.            11578   n.a.    0.997       11613       n.a.            n.a.
6704        E123        201919  n.a.        TEST    n.a.            2000-029-866    n.a.    176     0.997       n.a.        182             0.9707
6704        E123        201919  n.a.        TEST    n.a.            2000-029-868    n.a.    14      0.997       n.a.        15              0.9707
6704        E123        201919  n.a.        TEST    n.a.            2000-029-870    n.a.    9       0.997       n.a.        10              0.9707
佐哈尔·佩莱德

我认为这就是你要找的:

SELECT  versionid, substrate, yyyyww, 
        [type], null as type1, 
        itm_id, null as itm_id1, 
        qty, null as qty1,
        assy_yield, 
        assy_start, null as assy_start1, 
        null as test_yield
FROM @table1

UNION ALL

SELECT  versionid, substrate, yyyyww, 
    null as [type], [type] as type1, 
    null as itm_id, itm_id as itm_id1, 
    null as qty, qty as qty1,
    assy_yield, 
    null as assy_start, assy_start as assy_start1, 
    test_yield
FROM @table2

结果:

versionid   substrate   yyyyww  type        type1   itm_id          itm_id1         qty     qty1    assy_yield  assy_start  assy_start1 test_yield
6704        E123        201919  ASSEMBLY    NULL    2000-029-848    NULL            15537   NULL    0,997       15584       NULL        NULL
6704        E123        201919  ASSEMBLY    NULL    2000-029-849    NULL            11578   NULL    0,997       11613       NULL        NULL
6704        E123        201919  NULL        TEST    NULL            2000-029-866    NULL    176     0,997       NULL        182         0,9707
6704        E123        201919  NULL        TEST    NULL            2000-029-868    NULL    14      0,997       NULL        15          0,9707
6704        E123        201919  NULL        TEST    NULL            2000-029-870    NULL    9       0,997       NULL        10          0,9707

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何合并具有不同列的两个表

来自分类Dev

连接两个表-一个具有不同值的公用列

来自分类Dev

两个表上的自然连接具有不同数量的正常工作的列

来自分类Dev

在一列中连接具有不同值的两个表

来自分类Dev

如何使用Mysql连接具有不同值的两个表

来自分类Dev

连接具有特定列的两个表

来自分类Dev

两个具有不同列的表的SQL联合

来自分类Dev

如何合并两个具有不同列号的表,同时删除具有大量列的表的重复项

来自分类Dev

如何连接两个具有冗余列值的表?

来自分类Dev

如何连接两个不同的表?

来自分类Dev

如何在删除重复项的同时合并具有不同列号的两个表?

来自分类Dev

如何合并具有不同列号的两个表?MySQL的

来自分类Dev

如何在删除重复项的同时合并具有不同列号的两个表?

来自分类Dev

如何合并具有不同列号的两个表?MySQL的

来自分类Dev

如何从两个具有不同布局的表中选择列

来自分类Dev

当联接列具有不同的名称时,如何联接两个表?

来自分类Dev

如何在aws athena中附加两个具有不同列的表

来自分类Dev

如何在具有相同列的两个表中找到不同的行?

来自分类Dev

连接两个表并在两个不同的行中产生具有相同值的表

来自分类Dev

如何使具有两个固定列的表响应?

来自分类Dev

从不同表的不同列连接两个SELECTS

来自分类Dev

如何将两个不同的表中的两个选择语句显示到具有列的单个表中

来自分类Dev

连接具有不同列名和相同行的两个表

来自分类Dev

具有相同表和连接逻辑但结果不同的两个查询

来自分类Dev

如何为两个不同的表具有不同的包含表字段计算总和

来自分类Dev

连接两个具有不同列和行数的文件

来自分类Dev

连接具有不同列和条件的两个选择语句

来自分类Dev

SQL连接具有两个公共列的两个表-日期时间问题

来自分类Dev

如何根据不同的列在 Mysql 中连接两个表并汇总它们的列

Related 相关文章

  1. 1

    如何合并具有不同列的两个表

  2. 2

    连接两个表-一个具有不同值的公用列

  3. 3

    两个表上的自然连接具有不同数量的正常工作的列

  4. 4

    在一列中连接具有不同值的两个表

  5. 5

    如何使用Mysql连接具有不同值的两个表

  6. 6

    连接具有特定列的两个表

  7. 7

    两个具有不同列的表的SQL联合

  8. 8

    如何合并两个具有不同列号的表,同时删除具有大量列的表的重复项

  9. 9

    如何连接两个具有冗余列值的表?

  10. 10

    如何连接两个不同的表?

  11. 11

    如何在删除重复项的同时合并具有不同列号的两个表?

  12. 12

    如何合并具有不同列号的两个表?MySQL的

  13. 13

    如何在删除重复项的同时合并具有不同列号的两个表?

  14. 14

    如何合并具有不同列号的两个表?MySQL的

  15. 15

    如何从两个具有不同布局的表中选择列

  16. 16

    当联接列具有不同的名称时,如何联接两个表?

  17. 17

    如何在aws athena中附加两个具有不同列的表

  18. 18

    如何在具有相同列的两个表中找到不同的行?

  19. 19

    连接两个表并在两个不同的行中产生具有相同值的表

  20. 20

    如何使具有两个固定列的表响应?

  21. 21

    从不同表的不同列连接两个SELECTS

  22. 22

    如何将两个不同的表中的两个选择语句显示到具有列的单个表中

  23. 23

    连接具有不同列名和相同行的两个表

  24. 24

    具有相同表和连接逻辑但结果不同的两个查询

  25. 25

    如何为两个不同的表具有不同的包含表字段计算总和

  26. 26

    连接两个具有不同列和行数的文件

  27. 27

    连接具有不同列和条件的两个选择语句

  28. 28

    SQL连接具有两个公共列的两个表-日期时间问题

  29. 29

    如何根据不同的列在 Mysql 中连接两个表并汇总它们的列

热门标签

归档