我想要的結果是關於一個訂單的信息。當我的訂單有一些訂單項時,以下查詢工作正常,但只要它是空訂單,它就不會提供任何信息。例如我的orderid = 5,這個還沒有任何項目。我使用訂單項來計算訂單的總成本。如何在不存在訂單項時獲取我的信息?這是我的查詢:沒有訂單的sql訂單沒有給出結果
SELECT DISTINCT
u.firstname|| ' ' || u.lastname,
TO_CHAR(o.date,'DD-MON-YY HH24:mm'),
(SELECT SUM(oItem.amount * oItem.pricewhenordered) FROM ORDERITEM oItem WHERE
oItem.ORDERID=o.ID),
(case o.employeeid
when null then '-'
else (SELECT us.firstname|| ' ' || us.lastname FROM user us WHERE
id=o.employeeid)
END),
o.status
FROM order o, orderitem oItem, user u
WHERE o.userid = u.id
AND o.id = oItem.orderid
AND o.id = 5;
TABLES
order
ID, 用戶ID, 日期, 狀態, 僱員
orderitem
的OrderID, 的productid, 量, pricewhenordered
user
ID,用戶名 , 密碼, 名字,姓氏 , usertypeid
如果你不需要任何有關這些項目的更多信息(而且我的猜測是你不這樣做),那麼這是最好的到我的答案。 – 2014-10-17 14:42:21
這就是我一直在尋找的東西。我不是很聰明,可以忽略主要查詢中無用的orderitem。 Thx的快速和良好的回覆:) – 2014-10-18 09:34:20