我不確定爲什麼這樣表現。我需要根據一些標準從兩個表中選擇幾個值,這些標準應該從我在下面嘗試的查詢中清楚。從兩個表中選擇給出比預期更多的行
query = @"SELECT n.borrower, a.sum, n.lender FROM Notification AS n, Acknowledgment AS a
WHERE [email protected] AND n.id IN (SELECT parent_id FROM Acknowledgment
WHERE [email protected] AND [email protected])";
這會返回比預期更多的行(12)。
我有兩個表的通知和確認都有字段「總和」。當我嘗試下面的查詢時,按照預期給出正確的3行。
@"SELECT n.borrower, n.sum, n.lender FROM Notification AS n
WHERE [email protected] AND n.id IN (SELECT parent_id FROM Acknowledgment
WHERE [email protected] AND [email protected])";
現在我需要讓我需要a.sum
而不是n.sum
擴展這個查詢。但是當我嘗試第一個查詢時,它會給出更多的行,我的意思是WHERE
條件不起作用。我不知道,如果它與MS Access的怪癖或查詢有問題。如果我的查詢看起來很好,我很欣賞在訪問中的替代實現'因爲它根本不起作用! :)
我已閱讀here不同的數據庫實現以不同的方式選擇。說不上來,如果它的東西具體的訪問..
從Li0liQ建議之後,我嘗試這樣做:
@"SELECT n.borrower, a.sum, n.lender FROM Notification AS n
INNER JOIN Acknowledgment AS a ON a.parent_id = n.id AND [email protected] AND [email protected]
WHERE [email protected]"
但我現在得到「不支持JOIN表達」一個錯誤。
只是完美。接近我所想的東西! – nawfal 2012-01-12 18:17:56
不需要子查詢。必須滿足這個條件! – nawfal 2012-01-12 18:19:41
@nawfal,但應該可以通過將這些條件放入'WHERE'子句來獲得相同的結果,這比子查詢更有效。 – phoog 2012-01-12 18:21:46