2017-07-12 28 views
-1

私は両方 "されているすべての果物を照会することができますどのように私はフィールドを持つ「果物」「FRUIT」、「STATUS」と呼ばれる、次の表を持っており、「DATE」SQLiteの複数の条件

FRUIT  STATUS  DATE 
---------- ---------- ---------- 
apple  ADDED  2017-07-01 
orange  ADDED  2017-07-03 
peach  ADDED  2017-07-03 
apple  REMOVED  2017-07-14 
pear  ADDED  2017-07-11 
peach  REMOVED  2017-07-15 

を仮定「追加」と「削除」?

+0

何を試しましたか? – MPelletier

答えて

2

あなたは自己結合を必要とする:

SELECT DISTINCT added.FRUIT 
FROM fruits AS added 
INNER JOIN fruits AS removed 
    ON added.FRUIT=removed.FRUIT 
WHERE added.STATUS="ADDED" 
AND removed.STATUS="REMOVED" 

これはfruiteを共有する行のすべてのペアを見つけ、正しい状態になります。

SQLfiddle

+0

果物の種類に参加する必要があるかもしれないと思います。削除された果物を内部に入れます.fruit = added.fruit – Chris

+0

@Chrisはあなたがコメントしている間に追加しました。 –

+0

遅れを覚えている、良い答え – Chris