我需要從列表中選擇所有ID,列號爲ID
和X
,WHERE X = 'Y'
。對於每個ID
s,我需要在不同的表中查找一些東西:使用另一個查詢的非常簡單的SQL查詢
如果ID
不存在,它在最終結果中不會獲得任何行。
如果ID
確實存在,我想要做一些邏輯來確定它是否得到一個行。爲了簡單起見,假設邏輯是:如果列Q > 0
。
所以最後的結果只是一列ID
s,拋出一些,因爲他們由於以上兩個原因之一被取消資格。
謝謝。
我需要從列表中選擇所有ID,列號爲ID
和X
,WHERE X = 'Y'
。對於每個ID
s,我需要在不同的表中查找一些東西:使用另一個查詢的非常簡單的SQL查詢
如果ID
不存在,它在最終結果中不會獲得任何行。
如果ID
確實存在,我想要做一些邏輯來確定它是否得到一個行。爲了簡單起見,假設邏輯是:如果列Q > 0
。
所以最後的結果只是一列ID
s,拋出一些,因爲他們由於以上兩個原因之一被取消資格。
謝謝。
這是JOIN
s的用於製造。
SELECT table1.* FROM table1
INNER JOIN table2
ON table1.ID = table2.table1_ID
AND table2.Q > 0;
這將選擇表1中的所有記錄(有標識),然後刪除那些沒有在表2匹配的記錄或沒有問答的任何記錄> 0
如果我收到了你的問題的權利,這可能是你在找什麼:
select id from your_table
where X = 'Y'
and id in (select id from other_table where Q > 0)
可以使用子查詢:
SELECT id FROM table1 WHERE table1.id IN (SELECT q FROM table2 WHERE table2.q > 0) AND table1.x='y'
SQL將檢查是否從最外面的查詢結果的子查詢(括號中的部分),如果他們不將不會返回任何東西。
編輯你的問題的格式。請使用'code'和'blockquote'編輯器選項並放置一些線路斷路器。 – 2012-03-02 21:17:04