Article View: borland.public.interbase.sql
Article #157Re: help with group by ..
From: Karol Bieniaszewski
Date: Tue, 24 Jun 2008 09:09
Date: Tue, 24 Jun 2008 09:09
68 lines
3157 bytes
3157 bytes
U�ytkownik "Karol Bieniaszewski" <liviuslivius@poczta.onet.pl> napisa� w
wiadomo�ci news:48608627$1@newsgroups.borland.com...
>
> Uzytkownik "Wayne Niddery (TeamB)" <wniddery@chaffaci.on.ca> napisal w
> wiadomosci news:485fb1d8$1@newsgroups.borland.com...
>> "Karol Bieniaszewski" <liviuslivius@poczta.onet.pl> wrote in message
>> news:485f842b@newsgroups.borland.com...
>>>
>>> sumary by day in one row per day
>>>
>>> tableA
>>> ID Integer Primary key
>>> DT DATE NOT NULL,
>>> QU NUMERIC(18, 4),
>>> PRICE NUMERIC(18, 2)
>>>
>>> tableB
>>> ID Integer Primary key
>>> DT DATE NOT NULL,
>>> QU NUMERIC(18, 4),
>>> PRICE NUMERIC(18, 2)
>>>
>>> i need some like
>>> select
>>> {A.DT or B.DT}, sum(A.QU), SUM(A.QU * A.PRICE), SUM(B.QU), SUM(B.QU *
>>> A.PRICE)
>>> FROM
>>> tableA
>>> tableB
>>>
>>> GROUP BY {A.DT or B.DT ... ????}
>>>
>>> result should by like
>>>
>>> DT SUMA WARTA SUMB WARTB
>>> 2008-01-01 19 590 14 890
>>> 2008-01-02 12 789 11 654
>>
>> Maybe I'm not understanding what you want, but I think this should be
>> doable with an inner join linked on the date
>>
>> select a.dt, sum(a.qu), sum(a.qu * a.price), sum(b.qu), sum(b.qu *
>> b.price)
>> from tablea a
>> inner join tableb b on b.dt = a.dt
>> group by a.dt
>>
>> However, this assumes there is the same number of records in both tables
>> for a given date. If there are different numbers of records then this
>> will give you wrong totals. In that case you would need to use subqueries
>> which will probably not perform well.
>>
>> You could create a view on each table that gets the correct sums for that
>> table by date, and then you can do the above query on those views to get
>> correct totals.
>>
> thanks Wayne i'll try views for this
> in tables are not the same number of records
> and some of thises tables in some month can be empty :/
>
> Karol Bieniasszewski
Views can not be used to solve this
becaouse of some empty month in one of the tables
any more concept?
Karol Bieniaszewski
Technical Details
Message-ID:
<4860b9cd@newsgroups.borland.com>Path:
arc1-ca.pugleaf.net!g2news1.google.com!news1.google.com!border1.nntp.dca.giganews.com!nntp.giganews.com!newsfeed00.sul.t-online.de!newsfeed01.sul.t-online.de!t-online.de!newsgroups.borland.com!not-for-mailReferences:
<485f842b@newsgroups.borland.com> <485fb1d8$1@newsgroups.borland.com> <48608627$1@newsgroups.borland.com>Show Full Headers
Complete Article Headers
X-Google-Thread: 114a0e,8abde91de922829b X-Google-Attributes: gid114a0e,domainid0,public,usenet X-Google-Language: ENGLISH,ASCII From: "Karol Bieniaszewski" <liviuslivius@poczta.onet.pl> Newsgroups: borland.public.interbase.sql References: <485f842b@newsgroups.borland.com> <485fb1d8$1@newsgroups.borland.com> <48608627$1@newsgroups.borland.com> Subject: Re: help with group by .. Date: Tue, 24 Jun 2008 11:09:45 +0200 Lines: 70 X-Priority: 3 X-MSMail-Priority: Normal X-Newsreader: Microsoft Outlook Express 6.00.2900.5512 X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.5512 X-RFC2646: Format=Flowed; Response NNTP-Posting-Host: 195.205.151.58 Message-ID: <4860b9cd@newsgroups.borland.com> X-Trace: newsgroups.borland.com 1214298573 195.205.151.58 (24 Jun 2008 02:09:33 -0700) Path: arc1-ca.pugleaf.net!g2news1.google.com!news1.google.com!border1.nntp.dca.giganews.com!nntp.giganews.com!newsfeed00.sul.t-online.de!newsfeed01.sul.t-online.de!t-online.de!newsgroups.borland.com!not-for-mail