我是編程和SQL的新手,非常抱歉,如果我沒有包含足夠的信息。SQL - 返回不包含特定行的表中的記錄組
[我有這2個表由一個OrderID鏈接。表1包括OrderID和客戶信息,例如名字,姓氏和地址。表2包括訂單ID和訂單詳細信息,如項目名稱,價格和數量。
每個訂單ID表2中可能具有相同的OrderID多個ITEMNAME條目。] 1
CustInfo
OrderID FirstName LastName Address
1 Bob Pratt 123
2 Jane Doe 456
3 John Smith 789
4 Barbara Walters 147
訂單
OrderID ItemName Price Quantity
1 Milk 4.00 1
1 Eggs 5.00 2
2 Cheese 5.00 1
2 Bread 5.00 1
3 Milk 4.00 2
4 Yogurt 5.00 2
我試圖做一個查詢,將發回每個訂單的清單,列出OrderID和ItemName以及其他信息,只要該訂單不包含特定類型的物品(這會在ItemName中)。所以如果一個OrderID包含2個ItemName,其中一個是我不想要的,那麼整個訂單(OrderID)就不應該顯示在我的結果中。
例如,基於斷IMG包括,如果我想顯示所有的訂單,只要他們沒有牛奶作爲ITEMNAME,結果應僅顯示的OrderID 2和4
2 Cheese 5.00 1
2 Bread 5.00 1
4 Yogurt 5.00 2
這是我嘗試過的,但是這將返回OrderIDs,即使Milk在技術上是該OrderID的一部分。
SELECT OrderID, FirstName, LastName, ItemName, Price, Quantity
FROM CustInfo
JOIN Orders
ON CustInfo.OrderID = Orders.OrderID
WHERE ItemName != 'Milk'
你能幫忙嗎?
歡迎SO;在這裏你可以找到一些有用的[問]和如何建立[mcve];一些出發點:將表格結構和樣本數據發佈爲格式化文本,而不是圖片,以便人們可以輕鬆構建測試用例,併發布您嘗試的結果,錯誤和問題。 PS:是oracle還是mysql? – Aleksej
既然你說你是新手:[提出一個好的結構化查詢語言(SQL)問題](http://meta.stackoverflow.com/a/271056/4955425) – sstan
我刪除了不一致的數據庫標記。請添加您實際使用的數據庫的標籤。 –