[ zgMa @ 20.05.2009. 20:52 ] @
Kao što znamo, inner join vraća samo rezultate koji ispunjaju ono što je u uslovu. Meni treba metoda kako da vratim samo one rezultate koji nemaju podudarajuće polje u drugoj tabeli. Ili je subquery obavezan ? |
[ zgMa @ 20.05.2009. 20:52 ] @
[ bogdan.kecman @ 21.05.2009. 07:32 ] @
http://dev.mysql.com/doc/refman/5.1/en/join.html
Code: table_reference [INNER | CROSS] JOIN table_factor [join_condition] | table_reference STRAIGHT_JOIN table_factor | table_reference STRAIGHT_JOIN table_factor ON conditional_expr | table_reference {LEFT|RIGHT} [OUTER] JOIN table_reference join_condition | table_reference NATURAL [{LEFT|RIGHT} [OUTER]] JOIN table_factor nisam te tacno skontao sta hoces da izvedes ali ces na ovoj strani sigurno da nadjes odgovarajuci primer. ako ne, posalji primer 2 tabele iz koje hoces rezultat i posalji kakav rezultat hoces da dobijes pa cu ti napisati upit. Najverovatnije ti treba obican LEFT join, samo onda trazis da ti je neko polje "is null" [ bantu @ 21.05.2009. 07:32 ] @
Pa to možeš da uradiš npr. ovako:
Code: select lijevo.ID, desno.ID from lijevo left outer join desno on (lijevo.ID = desno.ID) where desno.ID is null; Ovaj upit bi ti trebao da vrati sve zapise u tabeli "lijevo" čiji PK ne postoji u tabeli "desno". Možeš da koristiš i right outer join u zavisnosti šta ti treba. Nadam se da je ovo ono što ti je bilo potrebno. [ zgMa @ 25.05.2009. 11:03 ] @
Hvala puno na odgovorima, modovi lock pls
Copyright (C) 2001-2025 by www.elitesecurity.org. All rights reserved.
|