【发布时间】:2014-04-10 13:47:25
【问题描述】:
两个表 - Suppliers 和 Work_Orders。
我正在尝试返回 Work_Orders 表中 Supplier_ID 不为 0 的供应商。但尽我所能,它只会返回供应商表中有记录的记录......有什么想法吗?谢谢
SELECT
Work_Orders.Order_ID as 'ID',
Work_Orders.Log_Date as 'Date',
IF Work_Orders.Supplier_ID > 0 THEN
Suppliers.Supplier_Name
ELSE
'Not Allocated'
END IF AS 'Supplier',
Work_Orders.Add1 as 'Unit',
Work_Orders.Work_Type as 'Type',
Work_Orders.Status as Status_ID
FROM
Work_Orders
JOIN Suppliers ON Suppliers.Supplier_ID = Work_Orders.Supplier_ID
WHERE
Work_Orders.Supplier_ID > 0
万一其他人遇到这种情况
SELECT Work_Orders.Order_ID as 'ID', Work_Orders.Log_Date as 'Date', IsNull(Suppliers.Supplier_Name, 'Not Allocated') as 'Supplier', Work_Orders.Add1 as 'Unit', Work_Orders.Work_Type as 'Type', Work_Orders.Status as Status_ID FROM Work_Orders
LEFT OUTER JOIN Suppliers ON Suppliers.Supplier_ID = Work_Orders.Supplier_ID
【问题讨论】:
-
将其更改为
OUTER JOIN。 -
Dai - 成功了(一旦我发现了 LEFT OUTER JOIN)。谢谢
-
您可以将您的答案记录为实际答案,并接受它。
-
但公平地说,这不是我的答案!