diyelim ki ana tabloda bir sütunun değeri 1 ise başka bir tabloyla join yaptırmak istiyorum, değilse de join yapmasın istiyorum. sorgu nasıl olur acaba?
SELECT * FROM table_1
JOIN table_2 ON table_1.id=table_2.id AND deger=1
böyle yapınca sadece deger=1 olanları join yapıyor tamam ama deger=1 olmayanları elemiş oluyor, hiç göstermiyor. ben sadece join yapmasın ama sonuçlarda göstersin istiyorum. şu tarz bir şey aslında istediğim:
SELECT * FROM table_1
IF deger=1 THEN JOIN table2 ON table_1.id=table_2.id
SELECT * FROM table_1
JOIN table_2 ON table_1.id=table_2.id AND deger=1
böyle yapınca sadece deger=1 olanları join yapıyor tamam ama deger=1 olmayanları elemiş oluyor, hiç göstermiyor. ben sadece join yapmasın ama sonuçlarda göstersin istiyorum. şu tarz bir şey aslında istediğim:
SELECT * FROM table_1
IF deger=1 THEN JOIN table2 ON table_1.id=table_2.id

ilk yazdigin sorgudaki join yerine left join yazarak yapabilirsin ya da union da kullanabilirsin.
nawres

1