Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 如何连接两个没有任何链接的不同表_Sql_Sql Server - Fatal编程技术网

Sql 如何连接两个没有任何链接的不同表

Sql 如何连接两个没有任何链接的不同表,sql,sql-server,Sql,Sql Server,如何连接两个没有任何链接的不同表 表1-库存中包含商店的所有物品 表2-销售 现在我需要将表1和表2中的数据放在一个文件中 表1 表2 ItemCode Quantity InvoiceNo Date aaaaaaaa 1 001 25/01/2021 我需要低于输出 ItemCode Quantity Type aaaaaaaa 10 I bbbbbbbb 12 I cccccccc 20 I aaaaaaaa 1

如何连接两个没有任何链接的不同表

表1-库存中包含商店的所有物品

表2-销售

现在我需要将表1和表2中的数据放在一个文件中 表1

表2

ItemCode Quantity InvoiceNo Date
aaaaaaaa 1        001       25/01/2021
我需要低于输出

ItemCode Quantity Type
aaaaaaaa 10        I
bbbbbbbb 12        I 
cccccccc 20        I
aaaaaaaa 1         S

请帮助我获取预期输出

您描述的不是连接,而是联合

使用UNION ALL


你所描述的不是联合,而是联合

使用UNION ALL

你可以通过联盟来实现这一点

你可以通过联盟来实现这一点


您可以这样做,基本上它是一个并集,类似于两个表的行的加法,而不是联接:

    SELECT ItemCode, SOH_Quantity AS Quantity, 'I' as Type FROM Table1
    UNION ALL
    SELECT ItemCode, Quantity, 'S' AS Type FROM Table2

请注意,我们是如何确保从两个表中获取相同的列名的,以便执行此操作的。

您可以这样做,基本上它是一个并集,类似于两个表的行的添加,而不是联接:

    SELECT ItemCode, SOH_Quantity AS Quantity, 'I' as Type FROM Table1
    UNION ALL
    SELECT ItemCode, Quantity, 'S' AS Type FROM Table2

请注意,我们是如何确保从两个表中获取相同的列名的,以便执行此操作。

应为unionall@Charlieface改变。感谢您的建议。union all是不必要的,因为type列将首先防止重复行。好处是查询计划不需要确保.union应该是all@Charlieface改变。感谢您的建议。union all是不必要的,因为type列将首先防止重复行。这样做的好处是查询计划不需要确保。
SELECT ItemCode, SOH_Quantity as Quantity, 'I' AS TYPE
FROM table1
UNION ALL
SELECT ItemCode, Quantity, 'S' AS TYPE
FROM table2
    SELECT ItemCode, SOH_Quantity AS Quantity, 'I' as Type FROM Table1
    UNION ALL
    SELECT ItemCode, Quantity, 'S' AS Type FROM Table2