WHERE IN - jak zabezpieczyc przed nieistniejącymi wartościami.

0

Czesc potrzebuje malej porady, jak zabezpieczyc sie przed wartoscami ktore nie istenieja w klauzuli WHERE IN. A o co mi chodzi pokaze na konkretnym przykladzie.
Zalozmy ze mamy 2 miasta w bazie: Poznan,Warszawa.

teraz robimy zapytanie, ktory konczy taka sekwencja

WHERE city IN ('Poznan','Bydgoszcz');

Otrzymamy miasto Poznan, poniewaz jest w naszej bazie, ale Bydogszcz juz nie, a moje pytanie brzmi czy jest mozliwosc sprawdzenia tych wszystkich wartosci w klauzuli WHERE IN czy w ogole one istnieja?

Inaczej mowiac chce tylko sprawdzac takie sekwnecje ktore istnieja, conajmniej jedna wartosc nieisteniejaca dziala na cale zapytanie - wynik false.

0

Wykonaj sobie select count(*) dla każdej wartości w zbiorze.

0

Moglbys to jakos przedstwic bo nie bardzo rozumiem?

0

No dla każdej wartości, którą chcesz sprawdzić, wykonaj SELECT count(*) FROM sexy_miasta WHERE city = '...'.
Ew. tak myślę, czy nie można by tutaj jakoś wykorzystać joinów, aby mieć to wszystko w jednym zapytaniu.

0
SELECT * FROM 
(SELECT 'Poznań' miasto UNION SELECT 'Bydgoszcz') m LEFT JOIN miasta ON m.miasto=miasta.miasto

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0