Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL] problem z zapytaniem
Hunterro
post 6.10.2009, 09:06:42
Post #1





Grupa: Zarejestrowani
Postów: 42
Pomógł: 0
Dołączył: 5.07.2007

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


od razu przepraszam za tak malo dokladny temat ale ne umiem w jednym zdaniu tego w zaden sposob okreslic.

chodzi o to ze mam takie przykladowe tabele:

TABELA_1:
id
nazwa

TABELA_2:
id
id_tabela1 (do relacji)
wartosc

do kazdego rekordu z TABELA_1 moze odnosic sie wiele rekordow z TABELA_2.
chce wyswietlic rekody z TABELA_1 z wykluczeniem takich, do ktorych bedzie w relacji odnosil sie przynajmniej jeden rekord z TABELA_2 o wskazanej wartosci pola 'wartosc'.

Jakze to uczynic?
Go to the top of the page
+Quote Post
jasin
post 6.10.2009, 09:27:07
Post #2





Grupa: Zarejestrowani
Postów: 142
Pomógł: 32
Dołączył: 21.08.2008
Skąd: Toruń

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


Czyli chcesz wyświetlić te rekordy z tabeli 1, których nie ma w tabeli 2? Czy jakos tak smile.gif
Np. można tego dokonać w taki sposób:
  1. SELECT * FROM TABELA_1 T1
  2. WHERE T1.id NOT IN ( SELECT T2.id_tabela1 FROM TABELA_2 T2 );


W podzapytaniu mozna jeszcze dać
  1. SELECT DISTINCT ...
dla pobrania niepowtarzalnych wartości danego pola.


--------------------
Go to the top of the page
+Quote Post
Hunterro
post 6.10.2009, 09:45:16
Post #3





Grupa: Zarejestrowani
Postów: 42
Pomógł: 0
Dołączył: 5.07.2007

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


Nie o to mi chodzi.

chodzi o to ze wyswietlam tylko rekordy z TABELA_1, ale przy okazji przegladam odnoszace sie do nich rekordy z TABELA_2 (do jedngo rekordu z TABELA_1 moze byc kilka w TABELA_2). I jesli do jakiegos rekordu z TABELA_1 odnosi sie taki rekord w TABELA_2 ktorego pole 'wartosc' wynosi przykladowo 4 to go nie wyswietlam.

na przykladzie.
TABELA_1 to ludzie, a TABELA_2 to elementy ich ubioru. Chce wypisac wszystkich imiona i nazwiska pomijajac osoby ktore maja niebieska podkoszulke.
Go to the top of the page
+Quote Post
nospor
post 6.10.2009, 09:55:13
Post #4





Grupa: Moderatorzy
Postów: 36 477
Pomógł: 6301
Dołączył: 27.12.2004




no i to ci wlasnie napisal jasin...

zapomnial jedynie dodac warunku, ale byc moze liczyl na twoją inteligencje i ze sam go sobie dodasz...

  1. SELECT * FROM TABELA_1 T1
  2. WHERE T1.id NOT IN ( SELECT T2.id_tabela1 FROM TABELA_2 T2 WHERE T2.wartosc='jakaswartosc');


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
Hunterro
post 6.10.2009, 10:09:55
Post #5





Grupa: Zarejestrowani
Postów: 42
Pomógł: 0
Dołączył: 5.07.2007

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


Fakt glupi zem.
moze to dla tego ze cala noc nie spalem, ale teraz juz dzieki wam moge isc w objecia morfeusza wiec jestem naprawde wdzieczny ;]

Dzieki serdeczne.
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 10.06.2024 - 21:59