[英]Append tables in SQL
如果我有以下两个表,
表格1
ItemNo Desc Order Number Qty S_Date Location
AA AA AAA A AA/AA/AAAA AAAA
BB BB BBB B BB/BB/BBBB BBBB
CC CC CCC C CC/CC/CCCC CCCC
表2
M_Order Item M_Date Total
XXX X XX/XX/XXXX XX
YYY Y YY/YY/YYYY YY
任何人都可以建议我如何获得下表。
结果表
ItemNo Desc Order Number Qty S_Date Location M_Date Total
AA AA AAA A AA/AA/AAAA AAAA
BB BB BBB B BB/BB/BBBB BBBB
CC CC CCC C CC/CC/CCCC CCCC
X XXX XX/XX/XXXX XX
Y YYY YY/YY/YYYY YY
谢谢
您可以使用full outer join
技巧来做到这一点:
select t1.*, t2.*
from table1 t1 full outer join
table2 t2
on 1 = 0;
这将为您提供两个表中的列。 每行仅填充来自一个表的值。
使用下面的查询联接这两个表。
我认为您希望将同一列中的两个[( ItemNo 和Item )和( Desc和M_Desc )]列的值组合在一起,并将所有其他列的值分别组合。
SELECT CAST(ItemNo AS VARCHAR(MAX)) AS ItemNo, CAST(Desc AS VARCHAR(MAX)) AS Desc, OrderNumber, Qty,
S_Date, Location, NULL AS M_Date, NULL AS Total
FROM Table1
UNION ALL
SELECT CAST(Item AS VARCHAR(MAX)) AS ItemNo, CAST(M_Order AS VARCHAR(MAX)) AS Desc, NULL AS OrderNumber, NULL AS Qty,
NULL AS S_Date, NULL AS Location, M_Date, Total
FROM Table2
与Gordons的答案类似,但在SQL中使用星号是最大的NO NO之一。 同样对于实际的连接零件本身,您需要在唯一列上执行tablename.column = tablename.column。 1 = 0有点模棱两可。 但是你知道了
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.