SQL Yardım, Bu Tip Gösterim Ve Sorgu Nasıl Yapılır
-
Bölgeler tablom var (Akdeniz, Ege vs...)
Şehirler tablam var (Adana, Afyon vs..)
- (Bölge ile şehir arasında bolge_id birbirine bağlı)
Hayvanlar tablom var (hayvan_id, etiket, cinsiyet, sehir_id, ilce_id vs..)
- (Şehir ile hayvanlar arasında sehir_id birbirine bağlı)
Tablo gösterimim şu şekilde olmalı (Diyelim ki Akedeniz bölgesini seçtik, o bölgeye ait illerdeki dişi ve erkek olmak üzere hayvan sayıları)
Bölge İl Dişi Erkek TOPLAM Akdeniz Adana 300 500 800 Mersin 400 600 1000 Antalya 900 600 1500 TOPLAM 1600 1700 3300 Bunu nasıl ifade edeceğimi bilemediğim için arama terimlerini bulamadım açıkcası.
-
group by ile çözülemez mi? tam bilmiyorum maalesef.
-
SELECT COUNT(CASE WHEN h.cinsiyet = "disi" THEN h.hayvan_id ELSE 0 END) AS disi_sayisi,
COUNT(CASE WHEN h.cinsiyet = "erkek" THEN h.hayvan_id ELSE 0 END) AS erkek_sayisi,
COUNT(h.hayvan_adi) AS toplam_sayi,
s.il,
FROM hayvanlar AS h
INNER JOIN sehirler AS s ON s.sehir_id = h.sehir_id WHERE h.sehir_id IN (SELECT sehir_id FROM sehirler WHERE bolge_id = 'Akdeniz');
gibi bişeyler olması lazım :D
-
Group by ile yaptım ama bölge kısmı tekrarlayıp duruyor.
@ozgunlu senin dediğine bakıcam. Şuan bir başka şeyde kafa patlatıyorum
-
kartezyen carpim ya da join i aastirabilirsin. mobildeyim daha sonra yazarim sorguyu.
-
Merhaba hocam tablolarında tam olarak göstermek istediklerinin basliklarını göremedim ama bu sekilde yapabilirsin. SQL dosyanı link atarsan tam olarak yapmak istediğinde yardımcı olabilirm. Count ile de hayvanları saydırabilirsin fromdan önce.
SELECT bolgeler.bolge,sehirler.il,hayvanlar.hayvan FROM bolgeler INNER JOIN sehirler ON bolgeler.id=sehirler.bolge_id INNER JOIN hayvanlar ON hayvanlar.sehir_id=sehirler.id
-
Hocam sql excel gibi degil. sen sql den satir bilgisi isteyebilirsin o satirda ne varsa onlari verir. Excel deki gibi satirlari asagidan yukariya dogru merge etmez. yani en azindan ben oyle biliyorum. yanlis biliyorsam o tarz bir gosterimi varsa bilemem tabi.
-
2012'den beri SQL yazmıyorum. Yanlışım varsa şimdiden affola.
Önce örnek yaptığım SQL yapısını paylaşayım.
http://i.imgur.com/Cn4bXCH.png
http://i.imgur.com/Q57EhDH.png
http://i.imgur.com/1ygJp7j.png
Kodlara gelirsek.
Dişi, erkek, toplam diye bölgelerdeki şehirlere göre istatistik sunan kod:
http://paste.ubuntu.com/14241485/
http://i.imgur.com/sIRul3A.png
Bölge toplamlarını veren kod:
-
Aslında reporting zımbırtısı için prosedür içersinde yapmak istemiştim. Lakin reportingde varmış bu zımbırtı. Teşekkürler.
-
ontedi bunu yazdı
Aslında reporting zımbırtısı için prosedür içersinde yapmak istemiştim. Lakin reportingde varmış bu zımbırtı. Teşekkürler.
Ben hiçbir şey anlamadım. Tam olarak ne istiyordun ve nasıl çözdün? Prosedür mü yazdın? Verdigim kodun mantigi yanlis miydi istediginden