借助表中的公共列检索不常见的列

时间:2016-05-31 13:26:47

标签: sql join

如何借助SQL中的表中的公共列来检索不常见的列(基于常用列orderid& orderamt需要结果作为比较

实施例 原始数据

SellerID    CustID  OrderID OrderAmt
1251        197     1675    2515
1259        201     1971    5135
1271        199     1675    2515
1299        197     1971    5135
1289        211     1972    5135

结果

OrderID OrderAmt    SellerID    CustID  SellerID1   CustID1
1675    2515        1251        197     1271        199
1971    5135        1259        201     1299        197

1 个答案:

答案 0 :(得分:0)

将表连接到公共列上并按不常见的列过滤:

Select
  a.OrderID, a.OrderAmt,
  a.SellerID, a.CustID,
  b.SellerID As SellerID1, b.CustID As CustID1
From
  [SourceTable] a
Inner Join
  [SourceTable] b
On
  a.OrderID = b.OrderID AND a.OrderAmt = b.OrderAmt
Where
  a.SellerID <> b.SellerID OR a.CustID <> b.CustID