在我的情況下,我有兩個表格Project和Activity,它們看起來像這樣。如何處理返回多個值的子查詢
項目是在頂部和活動底部的表。
在活動表中,activityID和projectID是主鍵。
我想實現的是創建一個View,它返回所有具有比ProjectProjectEndDate晚endDate的活動的項目。
總之我想這樣做:
SELECT *
FROM Project
WHERE (SELECT MAX(endDate) FROM Activity GROUP BY projectID) > projectedEndDate
,但我得到了以下錯誤:
Subquery returned more than 1 value. This is not permitted when the subquery follows =, !=, <, <= , >, >= or when the subquery is used as an expression.
謝謝
給它增加一個「LIMIT 1」? –
@DavidHoelzer由於子查詢是按項目ID分組的,「限制1」不是OP所需要的,因爲他可能從錯誤的項目中獲得日期。 – dasblinkenlight
另外,'LIMIT 1'是**不是**標準SQL。它只適用於MySql,並且這個問題被標記爲Sql Server。 –