2011-08-27 26 views
3

我有一個使用表A的主鍵填充的DropDownList。表B使用Table A主鍵作爲外鍵。外鍵只能使用一次。列表未使用的ID

因此,目前我的列表總是填充:1,2,3,4,5(在表A中作爲主要存在)。表B已經在使用密鑰:1,2,3.當他們的密鑰已經存在於表B中時,我需要它們不要填充到下拉列表中。

我試圖狀態SQL查詢,只填充不表B.存在我想查詢鍵,但不工作是:

SELECT Table_A.Grades_ID FROM Table_A INNER JOIN Table_B ON Table_A_ID = Table_B.Grades_ID WHERE Table_A.Grades_ID != Table_B.Grades_ID 

怎麼辦我得到我的下拉列表不填充表B中已經存在的鍵(數據)?

+0

什麼是 '從' 子句中的 '成績' 表?當然應該是'table_a'。 –

回答

5

只要調整你的SQL排除已經在表B

SELECT Table_A.Grades_ID 
FROM 
    Grades 
    LEFT JOIN Table_B ON Table_A_ID = Table_B.Grades_ID 
WHERE Table_B.Grades_ID Is Null 

或者存在PKEY值,你不妨用 「不」

SELECT 
    Tables_A.Grades_ID 
WHERE 
    Tables_A.Grades_ID not in (Select Grades_ID from Table_B) 
+0

謝謝!有效。 – nick

0

試試這個:

select table_a.grades_id 
from table_a left outer join 
on table_a.grades_id = table_b.grades_id 
where table_b.<some other field> is null 
0
SELECT Grades_ID FROM Grades WHERE Grades_ID NOT IN (SELECT Grades_ID FROM Table_B) 
0

選擇Table_A.Grades_ID 從表-A 其中Table_A.Grades_ID NOT IN(從表-B選擇Grades_ID)

相關問題