[ Orome @ 18.02.2011. 12:17 ] @
imam jednu tabelu t1 gde imam sifru 1,2,3,4,5,6,7,8,9... imam drugu tabelu t2 gde su neke od tih sifara 1,2,4,8,9. trebaju mi svi redovi iz prve tabele t1 ali hocu oznacene redove kojih ima i u t2.

select sifra,(?) as oznaka from t1

u tu oznaku bih stavio samo indikator 1 (ako ima) ili 0 (ako nema) u drugoj tabeli. da hocu redove kojih ima (koristio bih u where uslovu select IN) ili nema (koristio bih u where uslovu select NOT IN). Medjutim trebaju mi kako rekoh svi redovi iz prve ali da oznacim one koji postoje u drugoj.
[ VladaSu @ 18.02.2011. 12:47 ] @
Code (sql):

UPDATE t1 INNER JOIN t2 ON t2.id=t1.id SET indikator=1

ili

UPDATE t1 LEFT JOIN t2 ON t2.id=t1.id SET indikator=1 WHERE t2.id IS NOT NULL

 

[ Orome @ 18.02.2011. 13:12 ] @
u prvoj varijanti iz t1 ne uzima sve nego samo one koji imaju u t2 a meni treba svi iz t1 ali da oni koji postoje u t2 budu oznaceni.
u drugoj iz t1 uzima sve ali i obelezi sve, a meni trebaju obelezeni samo oni koji postoje u t2.
[ djoka_l @ 18.02.2011. 13:28 ] @
Code (sql):


SELECT t1.sifra, CASE WHEN t2.sifra IS NULL THEN 0 ELSE 1 END
FROM t1 LEFT OUTER JOIN t2 ON t1.sifra = t2.sifra

 


Pogledaj ponekad manual : http://dev.mysql.com/doc/refman/5.0/en/join.html