【问题标题】:SQL - List matching results next to each otherSQL - 彼此相邻列出匹配结果
【发布时间】:2020-11-16 02:25:07
【问题描述】:

我正在尝试根据主键列将匹配的结果列在彼此旁边,不匹配的结果为空白或 N/A。

我正在使用但不起作用的查询,因为初始表的结果只是在重复自己。对我来说,应用“distinct”也不适用于任何列。

查询示例:

IF EXISTS   (
            SELECT *
            FROM tempdb.dbo.sysobjects
            WHERE id = Object_id(N'tempdb..#TABLE_A')
            )
        BEGIN
            DROP TABLE #TABLE_A
        END

IF EXISTS   (
            SELECT *
            FROM tempdb.dbo.sysobjects
            WHERE id = Object_id(N'tempdb..#TABLE_B')
            )
        BEGIN
            DROP TABLE #TABLE_B
        END

select Animal_1, Qty_1
    into #TABLE_A
from TABLE_AA
    
select Animal_2, SUM(Qty_2) 
    into #TABLE_B
from TABLE_BB 
group by Animal_2


select  
        Animal_1, 
        Qty_1,
        Animal_2, 
        Qty_2 
from #TABLE_A, #TABLE_B

结果

【问题讨论】:

标签: sql filtered


【解决方案1】:

给你

select  
        Animal_1,  Qty_1, Animal_2, Qty_2 
from #TABLE_A left join #TABLE_B
ON Animal_1=Animal_2
Union
select  
        Animal_1,  Qty_1, Animal_2, Qty_2 
from #TABLE_A Right join #TABLE_B
ON Animal_1=Animal_2

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-08-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多