Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MSSQL]Różnica danych
Forum PHP.pl > Forum > Przedszkole
kask18
Witam , mam 2 tabele X i Y:

X
-----------------------
id | atrybut1 | atrybut2
1 | 1 | 5
2 | 3 | 6
3 | 4 | 7

Y
----------------------
id | klucz | atrybut2
1 | 1 | 1
2 | 2 | 2

Problem jest taki:
Chce wyświetlić tylko te rekordy z tablicy X których klucz główny nie występuje w Y.klucz
oraz spełniony jest warunek Y.atrybut2 != 1.
Zapytanie:
  1. SELECT x.* FROM x LEFT JOIN y
  2. ON x.id = y.klucz
  3. WHERE y.atrybut2 !=1


Działa błędnie ponieważ jeśli tablica y jest pusta to LEFT JOIN wstawia w miejsce y.klucz wartosc NULL i zapytanie zwraca pusty wynik. a powinno wszystkie rekordy z tablicy X.

Z góry dzięki za odpowiedzi
grzegorzr
Hej!

Doczytaj o pojęciach "OUTTER" i "INNER" przy operacji JOIN.

Cytat
zapytanie zwraca pusty wynik. a powinno


zapytanie zwraca poprawnie wynik na twój request

To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.