1

food というテーブルの例があります

item    id    date
apple   1     in-date
apple   1     in-date
banana  2     rotten
banana  2     in-date
lemon   3     in-date
lemon   3     in-date

すべてが日付になっている項目のみを返すクエリを書きたいと思います。つまり、リンゴとレモンを返す必要があります。

私は持っている、

select item
from food
where date = 'in-date';

bananaただし、一部が古くなっている場合でも、これも返されます。どんな助けでも大歓迎です

4

3 に答える 3

7
select distinct item
from food
where item not in (select item from food where date<>'in-date')

または、SQL がサポートしている場合exists

select distinct item
from food
where not exists (select item from food f where date<>'in-date' and f.item=food.item )
于 2012-11-19T14:17:21.313 に答える
2
SELECT item, SUM( CASE mydate WHEN 'in_date' THEN 0 ELSE 1 END ) as rotten
FROM food
GROUP BY item 
  HAVING rotten==0
于 2012-11-19T14:21:45.907 に答える
1

このようなことを試してください:-

 select distinct item
 from food
 where not exists (select item from food f where date<>'in-date' and f.item=food.item )
于 2012-11-19T14:18:06.153 に答える