2016-04-09 7 views
-1

Ich habe zwei Tabellen haben:Wie ein Tabellenfeld abzufragen, die einen bestimmten Wert nicht

Tabellenname: Aktive

AssetName 
---------- 
Bread1 
Bread2 
Bread3 

Tabellenname: Zutaten

AssetName Ingredient 
---------- ----------- 
Bread1  Flour 
Bread1  Water 
Bread1  Yeast 
Bread1  Salt 
Bread2  Flour 
Bread2  Water 
Bread2  Yeast 
Bread2  Salt 
Bread2  Sugar 
Bread3  Flour 
Bread3  Water 
Bread3  Yeast 
Bread3  Salt 
Bread3  Vanilla 

Ich versuche, um eine Abfrage zu schreiben, die mir die Liste der Assets zeigt, die nicht Vanilla haben und die Antwort erwarten:

AssetName 
---------- 
Bread1 
Bread2 

Antwort

3
SELECT DISTINCT AssetName FROM Ingredients WHERE Ingredient != 'Vanilla' 
1

Eine andere Möglichkeit, es zu tun, ist die Verwendung existiert nicht.

SELECT 
    AssetName 
from 
    Assets 
where not exists 
    (
     Select 
      AssetName 
     from 
      Ingredients 
     where 
      Ingredients.AssetName = Assets.AssetName 
      and Ingredient = 'Vanilla' 
    ) 
Verwandte Themen