Sql 如何连接两个没有任何链接的不同表
如何连接两个没有任何链接的不同表 表1-库存中包含商店的所有物品 表2-销售 现在我需要将表1和表2中的数据放在一个文件中 表1 表2Sql 如何连接两个没有任何链接的不同表,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
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