Merhaba arkadaşlar sorunum şu 3 tane tablom var bu tablolar şyle 1- Firmalar 2- Alan1 3- Alan2 Yapmak istediğim şu Firmalar tablosunda ki firmaları listeletip alan1 ve alan2 de ücretlerin bulunduğu kolonun satırlarını toplatıp fırmanın yanına yazdırmak. Dünden bu yana üzerinde uğraşıyorum Firmalar ve diğer 2 tablodan sadece 1 tanesini alınca sorun yok gayet güzel toplayp firmanın yanında toplamı gsteriyor ancak nezaman 3. tabloyu sorguya ekliyorum herhangi bir alanını seçmesem bile çalıştırdığımda hesaplar saçmalıyor nedenini bir türlü çzmedim yardımlarınızı bekliyorum...

select firma_adi, (sum +sum from firmalar, alan1, alan2 where firma_id = f_id and firma_id = firm_id group by firma_adi, (sum +sum veya select firma_adi, (sum +sum from firmalar, alan1, alan2 where firma_id = f_id and firma_id = firm_id group by firma_adi şimdi dene hocam firma adi ve tutara gre gruplaması lazım olmaz sa eger pm attım :) mYMusti tarafından 07/Eyl/12 16:22 tarihinde düzenlenmiştir

select firmaadi, (alan1 + alan2) as Toplam from firma gibi;? SharpShooter tarafından 07/Eyl/12 13:05 tarihinde düzenlenmiştir - xx yerde hata var. - ya aslında kod şyle sanıyor olabilir bla bla bla - olm kendine gel kodlar düşünmez - ...

Bu sorguya where koşulu ekleyemedim ben alan1 ve alan2 ye işlemin gerçekleştiği kayıt tarihleri için birer alan ekledim between ile sorgulatayım dedim " Incorrect syntax near the keyword 'Where' " diyerekten olmadı :)

biraz kurcaladım ama bu ama sadece 1 tablonun toplamını 2 tarih arası getiriyor diğerini tarih aralığı gzetmeden alayını toplayıp getiriyor :(

" is invalid in the select list because it is not contained in either an aggregate function or the GROUP BY clause. " şeklinde bir uyarı veriyor musti kardeş:)

FİRMA ADI ALAN 1 KAZANCI ALAN 2 KAZANCI FİRMA 1 25 TL 15 TL FİRMA 2 0 TL 40 TL Yapmak istediğim tam anlamıyla yukarıda ki gibi bir tablo Db de ki tablolar ve alanları Firmalar tablosu firma_id : int firma_adi : nvarchar Alan1 tablosu f_id : int tutar : money Alan2 tablosu firm_id : int ucret : money

Teşekkürler ama olmadı hocam :(

SELECT firma_adi AS , alan1tutar AS , ISNULL(SUM , 0) AS FROM (SELECT F. firma_adi, F. firma_id, ISNULL(SUM , 0) AS alan1tutar FROM firmalar F LEFT OUTER JOIN alan1 A ON A. fi_id = F. firma_id GROUP BY F. firma_adi, F. firma_id) tmp LEFT OUTER JOIN alan2 B ON tmp. firma_id = B. firm_id GROUP BY tmp. firma_adi, tmp. firma_id, alan1tutar KodlayanAdam tarafından 07/Eyl/12 16:07 tarihinde düzenlenmiştir Hiç savaş grmemiş çocuklarla, hiç barış grüşmemiş çocuklar için adalet farklı anlamlar taşır.

http://www.dosya.tc/server21/JJahNp/db. rar.html rarladım backup ı umarım dogru yapmsmdr mssql e yenı basladım da :)

select firma_adi, (sum +sum from firmalar, alan1, alan2 where firma_id = f_id and firma_id = firm_id not : db ye bakamadım sql server kurdurma bana hocam :D bu kodun olması lazım :D mYMusti tarafından 07/Eyl/12 14:11 tarihinde düzenlenmiştir

rnek çalışmanı koy çzelim hocam ;) sorun olmaz alması lazım

İlgilenen arkadaşlara tek tek teşekkür ederim KodlayanAdam'ın yazdığı şekilde sorunsuz çalıştı sorgu. Bir de bu sorguyu nasıl yaptın abi ya view dan mı yaptın ben çzümleyene kadar ldüm zllikle alan1tutar yerlerinde onları as gibi tanımlama sandım başta:)