[ 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 ?
[ 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