Arama butonu
Bu konudaki kullanıcılar: 1 misafir
3
Cevap
348
Tıklama
0
Öne Çıkarma
bağlı tablolarda sorgulama yapmak
L
11 yıl
Yüzbaşı
Konu Sahibi

Merhaba Arkadaşlar

< Resime gitmek için tıklayın >< Resime gitmek için tıklayın >

MS Sql programında yukarıdaki resimde verdiğim iki tabloyu oluşturdum, calisanlar ve cocuklar tabloların isimleri ve birbirine 1e çok ilişkisi ile bağlılar
calisanlar tablosunda PK calisan_no , cocuklar tablosunda PK cocuk_id FK calisan_no

Ben bir sorgu oluşturmak istiyorum, cocuk sayısı 2 olan personelin adi,soyadi,unvan alanlarını ekrana getiren SQL sorgusu yardımcı olabilirseniz çok minnettar olurum. işin içinden çıkamadım





< Bu mesaj bu kişi tarafından değiştirildi lostangel -- 25 Mart 2014; 10:49:17 >

M
11 yıl
Yüzbaşı

SELECT cs.adi,cs.soyadi,cs.unvan from calisanlar cs inner join cocuklar ck on cs.calisan_no=ck.calisan_no
GROUP BY cs.adi,cs.soyadi,cs.unvan
HAVING (count(ck.cocuk_id)=2)


Bu mesaja 1 cevap geldi.

Bu mesajda bahsedilenler: @lostangel
L
11 yıl
Yüzbaşı
Konu Sahibi

üstadım ellerine sağlık komut çok güzel çalışıyor ancak benim öğrencilerime de anlatmam lazım :) HAVING (count(ck.cocuk_id)=2) burada saydırma işlemini
birincil anahtara göre yapmışsınız count(ck.cocuk_id) burası tek başına kullanıldığında 10 satır sayar bendeki çocuklar tablosunda 10 çocuk var her 2 çocuk kardeş
burada ben cocuklar tablosundaki yabanci anahtara göre saydırma yapmalıyız diye düşünüyordum dumur oldum :) çok basit görünen bi komut aslında resmen
utandım kendimden tekrar çoook teşekkür ederim yardımların için





< Bu mesaj bu kişi tarafından değiştirildi lostangel -- 25 Mart 2014; 11:41:26 >
Bu mesaja 1 cevap geldi.

Bu mesajda bahsedilenler: @maxMESA
M
11 yıl
Yüzbaşı

rica ederim efendim. tek başına kullanılınca 10 satır sayar evet ama biz group by yaptığımız için her çalışan için ayrı ayrı count alacaktır.




Bu mesajda bahsedilenler: @lostangel
DH Mobil uygulaması ile devam edin. Mobil tarayıcınız ile mümkün olanların yanı sıra, birçok yeni ve faydalı özelliğe erişin. Gizle ve güncelleme çıkana kadar tekrar gösterme.