-3

我有表A:

ColA |  ColB          
  A  |   0    
  B  |   0      
  C  |   0      

和表 B:

ColA |  ColB          
  A  |   10    
  D  |   50      

我想使用 LEFT OUTER JOIN 如果右表的行存在,那么它将使用右表,否则使用左表。我想要的结果是:

ColA |  ColB          
  A  |   10    
  B  |   0      
  C  |   0  
4

3 回答 3

2
SELECT  
    a.ColA,
    ISNULL(b.ColB, 0) AS B_ColB
FROM    dbo.TableA a
LEFT JOIN dbo.TableB b ON a.ColA = b.ColA
于 2013-09-03T04:35:56.000 回答
1
SELECT  
    a.ColA,
    ISNULL(b.ColB, a.ColB) AS B_ColB
FROM    dbo.TableA a
LEFT JOIN dbo.TableB b ON a.ColA = b.ColA

小提琴

于 2013-09-03T05:05:01.493 回答
0

你可以在这里使用完全外连接...

这是一个例子

SELECT Customers.CustomerName, Orders.OrderID
FROM Customers
FULL OUTER JOIN Orders
ON Customers.CustomerID=Orders.CustomerID
于 2013-09-03T04:34:32.273 回答