inner join'li bir ifadem var. tam anlatabielcek miyim acaba. neyse, önce ne yapmak istediğimi söyleyeyim sonra elimdeki kodu paylaşayım.

yapmak istediğim şu:

tüm siparişler ana tablom olmak üzere,
o an sıralanmış sipariş numarasına sahip "sepet" tablosundaki ürünleri bastıracağım. ancak, o siparişin sepetinde "1" ifadesine sahip herhangi bir satır varsa, o ürün kesinlikle listelenmemli.

müthiş karışık oldu biliyorum :(

ama ifade şu aslında:

SELECT * FROM (SELECT * FROM orders where orderConfirm='1') as ord
INNER JOIN basket AS bsk ON bsk.orderId = ord.orderId

aha şuanki ifadem bu.
ama ben diyeceğim ki;

bsk.orderId = ord.orderId olan ifadelerin herhangi birinde bsk.basketConfirm='1' olan varsa, hiçbir şeyi listeleme.

hala çok karışık oldu ama biraz anlamışsınızdır belki.

 

Select * from orders
İnner join basket oN bsk.orderId = ord.orderId
Where bsk.basketConfirm= <> '1'

rhan

Where deki = olmayacak.

rhan

@rhan,

olmadı malesef ya.
mesela;

123123 id'li ürünün
sepet1 = 0
sepet2 = 0
sepet3 = 1

ise, bu ürünü listeledi. halbuki ben sepet içindekilerden herhangi bir tanesinde bile 1 varsa, görmek istemiyordum :(

kamera motor

Select * from orders
İnner join basket oN bsk.orderId = ord.orderId
Where bsk.urunid not in
(select bsk.urunid from basket bsk where bsk.basketConfirm='1' )

olabilir mi?
tabloların isimlerini tam paylaş.

basket = sepet
orders = siparişler

ise, onaylanmış sepet bsk.basketConfirm='1' oluyorsa.

sepette onaylanmış bir ürün varsa başka sepette gözükmesin istiyorsun sanırım.
ürün bir tane mi var?

rhan
1

mobil görünümden çık