Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Wykluczanie części wyniku zapytania
shalwia
post
Post #1





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 1.07.2007

Ostrzeżenie: (0%)
-----


Mamy następującą sytuację:
Dwie tabele o nazwach: TABELA1 oraz TABELA2 oraz TABELA3 W każdej z tabel mamy następujące kolumny: ID, PRZEDMIOT. W TABELA1 są następujące rekordy: 1, Podstawy programowania. W Tabela2: 1, Programowanie w C. W TABELA3: 1, Podstawy programowania, oraz 2, Programowanie w C oraz 3, Sieci komputerowe. Jak sformułować zapytanie do bazy, które pobierze wszystkie rekordy z TABELA3, lecz bez rekordów, które znajdują się w TABELA1 oraz TABELA2. W przypadku, który przestawiłem powyżej zapytanie powinno zwrócić jedynie rekodry: 3, Sieci komputerowe. Da się wogóle sformułować takie zapytanie? Jeżeli nie, to jak rozwiązać to php'em?
Go to the top of the page
+Quote Post
UDAT
post
Post #2





Grupa: Zarejestrowani
Postów: 442
Pomógł: 0
Dołączył: 27.12.2005

Ostrzeżenie: (0%)
-----


Użyj podzapytań, coś a'la:
  1. SELECT name FROM tabela3 WHERE name NOT IN ( SELECT name FROM tabela1 ) AND name NOT IN ( SELECT name FROM tabela2 )
Go to the top of the page
+Quote Post
wijet
post
Post #3





Grupa: Zarejestrowani
Postów: 116
Pomógł: 0
Dołączył: 20.12.2005
Skąd: Łódź

Ostrzeżenie: (0%)
-----


albo
  1. SELECT t3.* FROM t3,t2,t1 WHERE t3.name != t2.name AND t3.name != t1.name;

Powinieneś przemyśleć budowę bazy, trzymanie trzech identycznych tablel jest bez sensu.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 21.10.2025 - 08:09