3

2 つのデータベース テーブルがあるとします。

table Bは人々のtable A集合であり、からの人々の集合ですtable B

Table A = (no, id, date) no is PK, id refer to table B

Table B = (id, name) id is PK

私の目標は、特定の日付 (たとえば今日など) に出席しなかった人々 (ID と名前) のデータを取得することです。理論は単純に思えます。B のセットを出席した A のセットで減算します (今日)。私はSQLクエリでこれを行いますか? 最初のクエリを 2 番目のクエリで差し引いたものを考えましたが、混乱しました。

4

2 に答える 2

3
select * from b where 
not exists (select no from A where A.id=B.id and date=@yourdate)
于 2012-08-17T10:29:42.077 に答える
1

正しく理解すれば、次のようになります。

select b.id, b.name from tableB b where b.id not in (
   select b.id from tableA a
   inner join tableB b on a.id = p.id
   where a.date = CURRENT_DATE)
于 2012-08-17T10:29:44.187 に答える