Asp.net 列出未使用的ID

Asp.net 列出未使用的ID,asp.net,sql,ms-access,Asp.net,Sql,Ms Access,我有一个DropDownList,其中填充了表a的主键。表B使用表a的主键作为外键。外键只能使用一次 因此,当前我的列表总是填充:1,2,3,4,5作为主项存在于表A中。表B已经在使用键:1,2,3。当它们的键已经存在于表B中时,我需要它们不要填充在dropdownlist中 我尝试在SQL查询中声明,只填充表B中不存在的键。我尝试但不起作用的查询是: SELECT Table_A.Grades_ID FROM Table_A INNER JOIN Table_B ON Table_A_ID =

我有一个DropDownList,其中填充了表a的主键。表B使用表a的主键作为外键。外键只能使用一次

因此,当前我的列表总是填充:1,2,3,4,5作为主项存在于表A中。表B已经在使用键:1,2,3。当它们的键已经存在于表B中时,我需要它们不要填充在dropdownlist中

我尝试在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
如何使dropdownlist不填充表B中已存在的键数据?

只需调整SQL以排除表B中已存在的PKey值即可

或者,您可能希望在中使用not

试试这个:

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
选择表A.Grades\U ID 来自表A
如果表A.Grades\u ID不在表B中的Select Grades\u ID中

在“from”子句中的“Grades”表是什么?当然应该是“表a”。
SELECT
  Tables_A.Grades_ID
WHERE 
  Tables_A.Grades_ID not in (Select Grades_ID from Table_B)
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
SELECT Grades_ID FROM Grades WHERE Grades_ID NOT IN (SELECT Grades_ID FROM Table_B)