none
Aynı numaraya ait tablo toplama / Mysql RRS feed

  • Soru

  • Yukardaki tabloda 367 serino verisinin nakit tablosundaki 200 sayısını tek bir kere alıp yani distinct kullanıp diğer verilerdede aynı şekilde yapılmasını istiyorum bunun select kodunu rica etsem paylaşırmısınız benimle çözemedimde.

    Şu şekilde özet geçeyim :

    367 - 200 368 - 140 370 - 200

    toplam = 200+140+200 = 540

    Yardımlarınız için Teşekkür ederim.

    28 Şubat 2018 Çarşamba 16:58

Yanıtlar

  • ictablo, parantez içindeki sorgunun ürettiği geçici sonuca verilen isim. 

    AS ifadesi, sorgunun sonucuna bir tablo ismi veriyor.  Sonrasında dış sorgu, o ismi kullanarak ikinci bir sorgulama yapıyor.

    İç sorguyu tek başına çalıştırırsak:

    SELECT DISTINCT serino, nakit FROM tablo

    Sonuç (yani ictablo):

    Sonra ictablo'yu sorguluyoruz:

    SELECT SUM(ictablo.nakit)
      FROM ictablo;

    540

    Anlaşıldı mı?

    • Yanıt Olarak İşaretleyen hlkkrc34 28 Şubat 2018 Çarşamba 22:42
    28 Şubat 2018 Çarşamba 18:11

Tüm Yanıtlar

  • SELECT SUM(ictablo.nakit)
      FROM (SELECT DISTINCT serino, nakit FROM tablo) AS ictablo;
            

    Sorguyu hazırlarken kullandığım deneme alanı: http://sqlfiddle.com/#!9/f7f331/12

    28 Şubat 2018 Çarşamba 17:57
  • Hocam ictablo anatablonun yani fromda gösterdiğimiz tablo değilmi?
    28 Şubat 2018 Çarşamba 18:03
  • ictablo, parantez içindeki sorgunun ürettiği geçici sonuca verilen isim. 

    AS ifadesi, sorgunun sonucuna bir tablo ismi veriyor.  Sonrasında dış sorgu, o ismi kullanarak ikinci bir sorgulama yapıyor.

    İç sorguyu tek başına çalıştırırsak:

    SELECT DISTINCT serino, nakit FROM tablo

    Sonuç (yani ictablo):

    Sonra ictablo'yu sorguluyoruz:

    SELECT SUM(ictablo.nakit)
      FROM ictablo;

    540

    Anlaşıldı mı?

    • Yanıt Olarak İşaretleyen hlkkrc34 28 Şubat 2018 Çarşamba 22:42
    28 Şubat 2018 Çarşamba 18:11