select t.* from table1 t where t.id NOT IN(
select Id from t2 where usrId in
(select usrId from t3 where sId=value));
我需要的結果就好像在t1和t2中有匹配的id,那麼這些id應該被省略,只剩下其餘的行應該給我。我試圖轉換成加入,但它給了我想要的結果。以下是我的連接查詢。轉換爲加入查詢
SELECT t.* FROM table1 t JOIN table2 t2 ON t.Id <> t2.Id
JOIN table3 t3 ON t3.Id=t2.Id WHERE t3.sId= :value
這並不代表正確的結果。它正在返回所有行,但我想根據表t1和表t2中的匹配id來限制結果。匹配的id應該從結果中忽略。我將傳遞sId的值。
您使用的是MySQL還是MS SQL Server?不要標記不涉及的產品。 – jarlh
*爲什麼要重寫? – dnoeth
@dnoeth Duh ...讓像我們這樣的用戶可以在我們的SO收件箱中獲得閃亮的綠色小點...爲什麼其他 –