繁体   English   中英

在SQL中追加表格

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM