我有3個數據庫表。 第一個包含配料,第二個包含菜餚,第三個配料和菜餚。SQL加入問題
將數據添加到這些表很容易,但我面臨的一個問題,而試圖選擇特定的內容。
將特定菜餚的所有配料重新調配。
SELECT *
FROM Ingredient As I
JOIN DishIngredients as DI
ON I.ID = DI.IngredientID
WHERE DI.DishID = 1;
,但如果我嘗試查詢菜的名稱和說明無論是什麼樣Ø加入我用我總是得到的結果等於使用的成分數量的數。如果我的菜中有4種食材,那麼選擇返回名稱和描述4次,如何修改我選擇的那些值一次?
這是我的查詢結果(和鷹一樣),如果我嘗試選擇名稱和描述。我正在使用MS SQL。
ID Name Description DishID IngredientID
-- -------------------- -------------------------------------------------------------------- ------ ---------
1 Spaghetti Carbonara This delcitious pasta is made with fresh Panceta and Single Cream 1 1
1 Spaghetti Carbonara This delcitious pasta is made with fresh Panceta and Single Cream 1 2
Kuzgun的查詢對我很好。然而,從你的提示我看到,我真的不需要連接DishIngredient和菜。 當我需要的名稱和Descritpion我可以簡單地去
SELECT * FROM Dish WHERE ID=1;
Wehn我需要成分的列表,我可以用我上面的查詢。
「如果我嘗試查詢菜名和描述,無論是什麼樣的o加入我使用我總是得到的結果數量等於使用的原料數量。如果這就是你想要的,你不需要加入。 – dasblinkenlight
你能舉一個你想要什麼和你的查詢返回的例子嗎?並且還提供你正在使用的dbms? mysql/sql服務器... – unlimit