【问题标题】:Combine 2 table with both like and unlike columns将 2 个表与相似和不同的列结合起来
【发布时间】:2022-01-17 05:26:09
【问题描述】:

想知道如何加入表 1 和表 2 以获得想要的结果查询。我尝试合并左右连接,但类似的列并没有像我希望的那样排列。

Table 1

|Date|ClientID|ClientName|Revenue|Cost1A|Cost1B|Cost1C|
|----|--------|----------|-------|------|------|------|
|12/13/2021|001|ClientA|100|10|10|0|
|12/13/2021|001|ClientA|250|10|10|0|
|12/13/2021|002|ClientB|2500|10|15|1000|

Table 2

|Date|ClientID|ClientName|Revenue|Cost2|
|----|--------|----------|-------|-----|
|12/13/2021|003|ClientC|100|10|
|12/13/2021|003|ClientC|250|10|
|12/13/2021|001|ClientA|25|10|

Wanted Result
|Date|ClientID|ClientName|Revenue|Cost1A|Cost1B|Cost1C|Cost2|
|----|--------|----------|-------|------|------|------|-----|
|12/13/2021|001|ClientA|100|10|10|0|
|12/13/2021|001|ClientA|250|10|10|0|
|12/13/2021|002|ClientB|2500|10|15|1000|
|12/13/2021|003|ClientC|100||||10|
|12/13/2021|003|ClientC|250||||10|
|12/13/2021|001|ClientA|25||||10|

【问题讨论】:

    标签: sql ms-access


    【解决方案1】:

    对 UNION 中的缺失列使用占位符值 - 我使用 Null。

    SELECT [Date], ClientID, ClientName, Revenue, Cost1A, Cost1B, Cost1C, Null AS Cost2, "T1" AS Src FROM [Table 1]
    
    UNION SELECT [Date], ClientID, ClientName, Revenue, Null, Null, Null, Cost2, "T2" FROM [Table 2];
    

    使用UNION ALL 保留重复记录。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-09-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-05-11
      • 2011-04-30
      相关资源
      最近更新 更多