在我的數據庫,我有一個「用戶」,一個「任務」和「questings」表。 用戶可以解決任務。解決任務將在我的「任務」表中保存「user_id」和「quest_id」。現在需要協助建立SQL查詢(簡單連接)
,我想選擇所有任務,用戶尚未解決(意思是有這個用戶和追求的「questings」表中沒有條目)!
比方說,用戶的ID爲14.如何寫這個查詢?
解決這個查詢後,我要篩選的結果了。 任務和用戶也有一個城市。 怎麼寫查詢返回的所有任務,用戶還沒有解決,在城市用戶(用戶城市==追求城市)呢?
在我的數據庫,我有一個「用戶」,一個「任務」和「questings」表。 用戶可以解決任務。解決任務將在我的「任務」表中保存「user_id」和「quest_id」。現在需要協助建立SQL查詢(簡單連接)
,我想選擇所有任務,用戶尚未解決(意思是有這個用戶和追求的「questings」表中沒有條目)!
比方說,用戶的ID爲14.如何寫這個查詢?
解決這個查詢後,我要篩選的結果了。 任務和用戶也有一個城市。 怎麼寫查詢返回的所有任務,用戶還沒有解決,在城市用戶(用戶城市==追求城市)呢?
SELECT *
FROM Quests
WHERE Quest_ID NOT IN (
SELECT DISTINCT(Quest_ID)
FROM Questing
WHERE User_ID = 14)
select * from quests q, users u
where u.id = 14 AND q.city=u.city AND
q.id not in (select DISTINCT(quest_id) from questing);
謝謝!現在它工作! – Newbie 2010-06-08 11:10:09
你從哪裏得到User_ID?正如我所看到的,任務表中沒有User_ID字段... – 2010-06-08 09:50:44
user_id在表'Questing'中。 – Salil 2010-06-08 09:53:30
@Maximilian Mayerl:更正SQL語句 – 2010-06-08 09:54:33