SQL Server完全联接而不进行排序
我得到了两个sql表ITEM_A,ITEM_B,其中包含相同的字段ITEM,Designation 项目A_ASQL Server完全联接而不进行排序,sql,sql-server,sql-server-2008,Sql,Sql Server,Sql Server 2008,我得到了两个sql表ITEM_A,ITEM_B,其中包含相同的字段ITEM,Designation 项目A_A 001 LaptopA1 001 LaptopA2 001 LaptopA3 002 DesktopA1 002 DesktopA2 003 MouseA1 003 MouseA2 项目B 001 LaptopB1 001 LaptopB2 002 DesktopB1 002 DesktopB2 002 DesktopB3 002 DesktopB4 003 MouseB1 003
001 LaptopA1
001 LaptopA2
001 LaptopA3
002 DesktopA1
002 DesktopA2
003 MouseA1
003 MouseA2
项目B
001 LaptopB1
001 LaptopB2
002 DesktopB1
002 DesktopB2
002 DesktopB3
002 DesktopB4
003 MouseB1
003 MouseB2
003 MouseB3
以下是我提出的问题:
SELECT ITEM,Designation1, ROW_NUMBER() OVER (PARTITION BY ITEM ORDER BY Designation1) 'row'
INTO #ITM_A
FROM ITM_A
SELECT ITEM,Designation2, ROW_NUMBER() OVER (PARTITION BY ITEM ORDER BY Designation2) 'row'
INTO #ITM_B
FROM ITM_B;
SELECT A.ITEM,A.Designation1,B.ITEM,B.Designation2
FROM #ITM_A A
FULL OUTER JOIN #ITM_B B ON A.ITEM = B.ITEM AND A.row = B.row
以下是我得到的结果:
001 LaptopA1 001 LaptopB1
001 LaptopA2 001 LaptopB2
001 LaptopA3 NULL NULL
002 DesktopA1 002 DesktopB1
002 DesktopA2 002 DesktopB2
003 MouseA1 003 MouseB1
003 MouseA2 003 MouseB2
NULL NULL 002 DesktopB3
NULL NULL 002 DesktopB4
NULL NULL 003 MouseB3
我需要这样显示它:
001 LaptopA1 001 LaptopB1
001 LaptopA2 001 LaptopB2
001 LaptopA3 NULL NULL
002 DesktopA1 002 DesktopB1
002 DesktopA2 002 DesktopB2
NULL NULL 002 DesktopB3
NULL NULL 002 DesktopB4
003 MouseA1 003 MouseB1
003 MouseA2 003 MouseB2
NULL NULL 003 MouseB3
您只需通过以下方式添加订单:
SELECT A.ITEM,A.Designation1,B.ITEM,B.Designation2
FROM #ITM_A A
FULL OUTER JOIN #ITM_B B ON A.ITEM = B.ITEM AND A.row = B.row
order by isnull(A.ITEM,B.ITEM)
为了获得所需的输出,您只需添加: 在您的查询结束时按ISNULLA.ITEM、B.ITEM订购。您能否在不订购的情况下详细说明