我需要能夠將字串“評論”添加到資料庫。我需要使用子查詢。我需要將“User”表中的“UserID”與“Outfit”表列中的“OutfitID”結合起來。這樣我就可以知道哪個評論屬于哪個用戶和哪個裝備。
首先我嘗試了這個查詢:
SELECT Gebruiker.GebrID,Outfit.ID
FROM Gebruiker
INNER JOIN Outfit ON Outfit.GebrID = Gebruiker.GebrID
WHERE Gebruiker.Alias = 'john'
INSERT INTO Review(GebrID,OutfitID,StukTekst)
VALUES(Gebruiker.GebrID, Outfit.ID,'ziet er cool uit');
現在我想將資料添加到審查表中,但我收到以下錯誤訊息:

這是我的資料庫圖:

uj5u.com熱心網友回復:
更直接的方法是避免values子句和重復的標量子查詢:
INSERT INTO Review (GebrID, OutfitID, StukTekst)
SELECT Gebruiker.GebrID, Outfit.ID, 'ziet er cool uit'
FROM Gebruiker INNER JOIN Outfit ON Outfit.GebrID = Gebruiker.GebrID
WHERE Gebruiker.Alias = 'john';
至于是否滿足某人的任意“子查詢”要求尚不清楚。如果該查詢回傳多行,那么它將全部插入,除非這會導致插入操作違規。
uj5u.com熱心網友回復:
如果您需要使用子查詢,也許也可以使用它們。
您想從 user 獲取值John,插入到Review.
你可以這樣做:
INSERT INTO Review(GebrID, OutfitID, StukTekst)
VALUES ((SELECT GebrID FROM Gebruikers WHERE Gebruiker.Alias = 'john'),
(SELECT Outfit.ID FROM Outfit INNER JOIN Gebuikers ON Outfit.GebrID = Gebruikers.GebrID WHERE Gebruikers.Alias = 'john'),
'ziet er cool uit'
);
現在你也在使用子查詢。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/447901.html
上一篇:Sqlserver僅從DateTime獲取日期并對其進行過濾
下一篇:回傳左連接中的最后一個非空值
