Forum
Merhaba,
C# ile yaptığım bir uygulama için SQL koduna ihtiyacım var. Bu SQL kodu 2 farklı tablodaki verilerin müşteri numaraları eşleşenleri aynı satırda yazdırmalı.
Mesela 1. tablom müşteri tablosu. MusteriId,MusteriAdi,VergiNumarasi,VergiDairesi alanları var.
2. tablom ise müşteri iletişim tablosu. Burada da MusteriId,IletisimId,Method,Deger alanları var.
2. tablodaki method alanına 'Telefon' yazıp Değer alanına '05555555555' yazdığımda; O MusteriId'sinin Telefon numarasını vermiş oluyorum. Method'a Adres Yazıp Value'ya değer girdiğimde yine o MusteriId'sinin adresini vermiş oluyorum. Yani telefon, mail, fax, adres hepsini aynı alana farklı satırlar halinde giriyorum.
1. Tablo:
MusteriId | MusteriAdi | VergiNumarasi | VergiDairesi |
1001 | Müşteri1 | 00000000000 | VD1 |
1002 | Müşteri2 | 11111111111 | VD2 |
2. Tablo:
MusteriId | IletisimId | Method | Deger |
1001 | 1 | Adres | Adres1001 |
1001 | 2 | Telefon | Telefon1001 |
1001 | 3 | Fax | Fax1001 |
1002 | 1 | Adres | Adres1002 |
1002 | 2 | Telefon | Telefon1002 |
gibi.
Bir SQL sorgusu ile Select sorgumda yeni alan tanımlayıp O id nin hem telefonunu hem adresini hemde fax ını 1 satırda göstermek istiyorum.
Anlatabildim mi? 🙁 Sanırım iç içe select sorgusu kullanmam gerekiyor. Yardımlarınızı bekliyorum.
İstediğim Sonuç:
MusteriId | Adres | Telefon | Fax | VergiNumarasi | VergiDairesi |
1001 | Adres1001 | Telefon1001 | Fax1001 | 00000000000 | VD1 |
1002 | Adres1002 | Telefon1002 | Fax1002 | 11111111111 | VD2 |
Teşekkürler.
İç içe select den ziyade burda master detail kullanmanız gerekli Mesela
SELECT
FROM dbo.musteri INNER JOIN
dbo.detay ON dbo.musteri.id = dbo.detay.musteriid
where musteri.id=1
şeklinde yaparsanız istediğiniz sonuca ulaşırsınız veri tabanınız mssql ise wiev oluşturabilirsiniz kod yazmadan alanları ilişkilendirp direk sonuç alabilirsiniz iyi çalışmalar.