sql cümlesi
naile08.12.2004 - 12:18:09
Şu yapıda bir tablom var:

Firma Ürün Tutar1 Tutar2 Tutar3 ...
A 1 1 3 0
A 2 4 2 5
B 1 6 5 5
B 2 4 2 4
B 3 5 5 5


tutar1,tutar2... her aya göre o üründen alınan tutarları veriyor, yani tutar1 1. ay tutar2 2. ay..

Burda şöyle bir cümle kullanıyorum:
Select Firma,Sum(tutar1),Sum(tutar2),sum(tutar3)
From tablo
Group by Firma


Burda her firmanın her aya ait toplam tutarlarını tek satırda görebiliyorum yani:
Firma Tutar1 Tutar2 Tutar3 ...
A 5 5 5
B 15 12 14


Yapmak istediğim ise şöyle:
Bu iki firmayı birleştirmek istersem mesela bir alan daha olacak ve o alanda birleştiği firmayı yazacak ve sadece tek satır olacak A firması görülecek ama tutar olarak A ile B nin toplamını alacak.

Firma Tutar1 Tutar2 Tutar3 ...
A 20 17 19


Bunu iç select kullanarak yapabilirim ama bu bana yavaşlık verir gibi geldi.

Select (select firma ..)
sum(tutar1),..
From Tablo


bir şekilde gruplama yapmam lazım neye göre gruplandıracağım? Velhasıl çözemedim bu işi. Bir firki olan var mı? :)
 
Anonymous08.12.2004 - 13:03:30
SELECT SUM(TUTAR1) AS OCAK, SUM(TUTAR2) AS SUBAT FROM TABLO WHERE FIRMA = 'A' OR FIRMA = 'B'



yani gruplama yapmadan where ile çözülebilir iş.

kolay gelsin.
 
naile08.12.2004 - 13:05:44
Ama firmanın adı ve diğer bilgilerini de görmek istiyorum
 
Anonymous08.12.2004 - 13:11:42
şimdi A ve B firmaları na ait toplamları göreceksiniz. ama firama adını görmek istiyorum derken A firmasının adını mı görmek istiyorsunuz yoksa B firmasının adını mı ?
 
mikser08.12.2004 - 13:13:22
hangi firma hangi firmayla birleşmiş nerden bilinecek?

örnekde ki,
Firma Tutar1 Tutar2 Tutar3 ...
A 20 17 19

neye göre A, neden B degil?

şu sekilde istediginiz gibi olur fakat. B olması gerektiginde yine A yazar.

SELECT ' A' as Firma, SUM(TUTAR1) , SUM(TUTAR2), SUM(TUTAR3)
FROM Tablo
 
naile08.12.2004 - 13:23:38
İşte onun için bir alanım daha olacak. A nın olduğu satıda B yazdığı zaman B yi hiç görmeyecek B'nin toplamını A'ya dahil edecek yok eğer null sa yapacak bişey yok :)
 
Anonymous08.12.2004 - 13:53:30
biraz karıştı ama.

SELECT MAX(FIRMA) AS FIRMA, SUM(TUTAR1) AS OCAK, SUM(TUTAR2) AS SUBAT FROM TABLO WHERE FIRMA = 'A' OR FIRMA = 'B'


max veya min ile size uygun olanı seçebilitsiniz sanırım.
 
NOT : Bu sayfa google'un siteyi indekslemesi içindir. www.delphiturkiye.com/forum/ adresini kullanınız!
1998-2006 www.delphiturkiye.com