Alt sorgu meselesi

MS SQL Server veritabanı ve SQL komutlarıyla ilgli sorularınızı sorabilirsiniz. Delphi tarafındaki sorularınızı lütfen Programlama forumunda sorunuz.
Cevapla
Kullanıcı avatarı
pentiumkivanc
Üye
Mesajlar: 350
Kayıt: 19 Şub 2004 10:24
İletişim:

Alt sorgu meselesi

Mesaj gönderen pentiumkivanc »

Selamlar;
Aşağıdaki gibi bir tablom var,

Kod: Tümünü seç

Malkodu  SeriNo  Cuval  Palet  KG
-----------------------------------------
M01      001      2     1      50
M01      001      6     2      120
M01      002      2     3      70
M02      002      3     3      200
....

Bu tablodan yaptığım sorgunun bana getirdiği neticenin ise Malkodu M01 olan ve serino su 001 olanların çuval,palet ve kg toplamlarını, yine mal kodu M01 ama serino su 002 olanların çuval,palet,kg toplamlarını ve tabi mal kodu M02 olanlardan serino su 002 olanlarının çuval,palet ve KG toplamı. Yani sorgunun yapması gereken Aynı malkod lu alanlardan serino su aynı olanlarını toplaması ve serino da değişiklik olması halinde malkodu aynı bile olsa farklı bir toplam alması gerekli. Yukarıdaki örneğe göre gelen sonuç:

Kod: Tümünü seç

Malkodu  Serino  Cuval  Palet  KG
-----------------------------------------
M01        001    8     3     170
M01        002    2     3      70
M02        002    3     3     200
....
Yani yaptığım sorgu ilk önce mal kodu M01 olanları listeleyecek, gelen listeden serino su 001 olanların Cuval, Palet, KG toplamlarını listeleyecek, sonra serino su 002 olanlların cuval,palet,kg toplamlarını listeleyecek sonra mal kodu M02 olanlara geçecek ve onlardan da serino su 002 olanların cuval,palet,kg larını toplayacak. Ben bu işlemin içinden tek sorguda çıkamadım. Acaba bu işlemleri ayrı ayrı Query ler kullanmadan en kısa yolla nasıl halledebilirim. Mesela tek sorguda bunlar yapılabilirmi? Eğer yapabilirsem de nasıl.

Bu arada kullandığım veritabanı MS-SQL bileşen ise ADO.
Kullanıcı avatarı
naile
Admin
Mesajlar: 1873
Kayıt: 11 Haz 2003 10:11

Mesaj gönderen naile »

GROUP BY kullanmalısın. Group by istediği nalanlara göre gruplama yapar.

Kod: Tümünü seç

SELECT Malkodu,  Serino, SUM(Cuval),SUM(Palet),SUM(KG)
FROM TABLOM
GROUP BY Malkodu,  Serino
Kullanıcı avatarı
pentiumkivanc
Üye
Mesajlar: 350
Kayıt: 19 Şub 2004 10:24
İletişim:

Mesaj gönderen pentiumkivanc »

Anlayışınız için telekkürler bu kod işimi gördü.
Kullanıcı avatarı
naile
Admin
Mesajlar: 1873
Kayıt: 11 Haz 2003 10:11

Mesaj gönderen naile »

Estağfirullah.. Zaten bilgi paylaşımı için burda değil miyiz? :)
Kullanıcı avatarı
pentiumkivanc
Üye
Mesajlar: 350
Kayıt: 19 Şub 2004 10:24
İletişim:

Mesaj gönderen pentiumkivanc »

Gaziantepliler dayanışması gibi oldu ama :P :lol:
Cevapla