Çok Karmaşık bir sql sorgu
-
11 Haziran 2012 Pazartesi 17:30
sehirler Ulkeler
ID ID
Adi Adi
UlkeIDYukarıda görüldüğü üzere şehirlerle ülkeler birbirine bağlı
Urunler Musteriler
ID ID
Adı Ad
CikisSehirID CikisSehirID
VarisSehirID VarisSehirIDSoru 1- ürünler tablosunu şu şekilde nasıl listeleyebiliriz. ID, Adı, CikisSehirID, CikisSehirAdi, VarisSehirID, VarisSehirAdi
Soru 2- ürünler tablosuna yeni bir girişolduğunda musteriler tablosundaki uygun ülkede olanlar listelensin. Yani ürünlere çıkış yeri ankara, varış yeri istanbul olan giriş olduğunda, müşteriler tablosunda ki türkiye ülkesine kayıtlı olanlar listelensin.
Bu sorgular nasıl yazılabilir.
Tüm Yanıtlar
-
12 Haziran 2012 Salı 13:41
Merhaba,
aşağıdaki gibi bir sorgu yazılabilir.
SELECT * FROM Musteriler M INNER JOIN Sehirler S ON (S.Id=M.CikisSehirId OR S.Id=M.VarisSehirId) WHERE S.UlkeId IN ( SELECT S.UlkeId FROM Sehirler S INNER JOIN Urunler U ON (S.Id=U.CikisSehirId OR S.Id=U.VarisSehirId) WHERE U.ID=@UrunId )
Ahmet Kaymaz
http://www.ahmetkaymaz.com
C# VB.NET ASP.NET kitabı- Yanıt Olarak Öneren OnderDumanOwner 14 Haziran 2012 Perşembe 07:23
-
13 Haziran 2012 Çarşamba 06:50Sahip
Merhaba,
Ahmet arkadaşımızın yanıtı işinizi gördümü? Geri dönüş alabilirsek çok yardımcı olmuş olursunuz ve cevap olumlu ise Yanıt olarak işaretlemeniz burada sorularınıza cevap veren insanları daha da hoşnut kılacaktır ve ilerideki sorularınıza daha bir isteyerek cevap vereceklerdir.
Teşekkürler
Microsoft bu servisi kullanıcılarına yardım etme, Microsoft ürünleri ve teknolojileriyle ilgili bilgi bankasını genişletme amacıyla ücretsiz sunmaktadır.
Bu içerik olduğu gibi benim tarafımdan hazırlanmış olup Microsoft tarafından herhangi gibi bir sorumluluk üstlenildiği anlamına gelmez.
Facebook Üzerinden Takip Et!
Twitter'da Takip Et! -
13 Haziran 2012 Çarşamba 10:22
1)
select t1.ID, t1.Adi, t1.CikisSehirID, t2.Adi as CikisSehirAdi, t1.VarisSehirID, t3.Adi as VarisSehirAdi from Urunler t1 inner join Sehirler t2 on t1.CikisSehirID = t2.ID inner join Sehirler t3 on t1.VarisSehirID = t3.ID
2) Burada imkansiz bir sey istiyorsun gibi geldi. Ya da yapmak istedigini yanlis anlatmissin (musterilerin ulke kaydi yok). Onun yerine Cikis/Varis yeri ayni ulke olanlarin urun ID ve UlkeID'leri:select t1.ID, t2.UlkeID from Urunler t1 inner join Sehirler t2 on t1.CikisSehirID = t2.ID inner join Sehirler t3 on t1.VarisSehirID = t3.ID where t2.UlkeID = t3.UlkeID
Not: Bu sorgular nerede kullanilacak? Ornegin C#'ta kullanacaksan, karmasik SQL ogrenmek yerine basitce Linq kullanabilirsin.- Yanıt Olarak Öneren OnderDumanOwner 13 Haziran 2012 Çarşamba 11:57
- Yanıt Olarak İşaretleyen OnderDumanOwner 15 Haziran 2012 Cuma 06:13