Unix Technical Forum

SEO

vBulletin Search Engine Optimization


Go Back   Unix Technical Forum > Database Server Software > Sybase

Register FAQ Members List Calendar Search Today's Posts Mark Forums Read
  #1 (permalink)  
Old 05-02-2008, 05:05 AM
Waleed Seada
 
Posts: n/a
Default UNION all return two rows

Dear All,

I have created two select statments, each produce three lines with
this layout:

1st Select:
SELECT ID,
Part#,
Period,
Value,
Dis,
Amt,
sum(NetSaleValue) as NetSaleValue,
sum(NetSaleProfit) as NetSaleProfit,
0.00 as Dum1,
0.00 as Dum2
FROM RegMaster a, Parts b
Where a.ID = 1 and datepart(yy,a.perdio) = 2007 and regCode = '1487'
and
a.id = b.id AND a.part# = b.part#
GROUP BY a.id,
a.regCode,
a.Period,
a.Value,
a.Dis,
a.Amount

1st Output:
========
ID Part# Date Values Dis Amount NetSValue NetSProfit Dum1 Dum2
1 1487 2007/01/01 85058.16 0.00 85058.16 170116.32 7045370.52 0.00
0.00
1 1487 2007/02/01 94227.31 0.00 94227.31 188454.62 6695362.70 0.00
0.00
1 1487 2007/03/01 107397.87 0.00 107397.87 214795.74 8771624.18
0.00 0.00

------------------------------------------------------------------------------------------------------------------------------------------------------
2nd Select:
SELECT ID,
Part#,
Period,
Value,
Dis,
Amt,
0.00 as Dum1,
0.00 as Dum2,
sum(NetPurchValue) as NetPurchValue,
sum(NetPurchProfit) as NetPurchProfit
FROM RegMaster a, Parts b
Where a.ID = 1 and datepart(yy,a.perdio) = 2007 and regCode = '1487'
and
a.id = b.id AND a.part# = b.part#
GROUP BY a.id,
a.regCode,
a.Period,
a.Value,
a.Dis,
a.Amount

2nd Output:
========
ID Part# Date Values Dis Amount Dumm1 Dumm2 NetPValue NetPProfit
1 1487 2007/01/01 85058.16 0.00 85058.16 0.00 0.00 170116.32
7045370.52
1 1487 2007/02/01 94227.31 0.00 94227.31 0.00 0.00 188454.62
6695362.70
1 1487 2007/03/01 107397.87 0.00 107397.87 0.00 0.00 214795.74
8771624.18

------------------------------------------------------------------------------------------------------------------------------------------------------

Now I want to combine then together and have aresult of three lines
with the values of NetSaleValue, NetSaleProfit, NetPurchValue,
NetPurchProfit in ONE line ....

How can I acomplish that ...

Thanks and best regards,
Waleed
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #2 (permalink)  
Old 05-02-2008, 05:05 AM
bret@sybase.com
 
Posts: n/a
Default Re: UNION all return two rows

On Apr 30, 2:46 am, Waleed Seada <waleed.se...@yahoo.com> wrote:
> Dear All,
>
> I have created two select statments, each produce three lines with
> this layout:
>
> 1st Select:
> SELECT ID,
> Part#,
> Period,
> Value,
> Dis,
> Amt,
> sum(NetSaleValue) as NetSaleValue,
> sum(NetSaleProfit) as NetSaleProfit,
> 0.00 as Dum1,
> 0.00 as Dum2
> FROM RegMaster a, Parts b
> Where a.ID = 1 and datepart(yy,a.perdio) = 2007 and regCode = '1487'
> and
> a.id = b.id AND a.part# = b.part#
> GROUP BY a.id,
> a.regCode,
> a.Period,
> a.Value,
> a.Dis,
> a.Amount
>
> 1st Output:
> ========
> ID Part# Date Values Dis Amount NetSValue NetSProfit Dum1 Dum2
> 1 1487 2007/01/01 85058.16 0.00 85058.16 170116.32 7045370.52 0.00
> 0.00
> 1 1487 2007/02/01 94227.31 0.00 94227.31 188454.62 6695362.70 0.00
> 0.00
> 1 1487 2007/03/01 107397.87 0.00 107397.87 214795.74 8771624.18
> 0.00 0.00
>
> ------------------------------------------------------------------------------------------------------------------------------------------------------
> 2nd Select:
> SELECT ID,
> Part#,
> Period,
> Value,
> Dis,
> Amt,
> 0.00 as Dum1,
> 0.00 as Dum2,
> sum(NetPurchValue) as NetPurchValue,
> sum(NetPurchProfit) as NetPurchProfit
> FROM RegMaster a, Parts b
> Where a.ID = 1 and datepart(yy,a.perdio) = 2007 and regCode = '1487'
> and
> a.id = b.id AND a.part# = b.part#
> GROUP BY a.id,
> a.regCode,
> a.Period,
> a.Value,
> a.Dis,
> a.Amount
>
> 2nd Output:
> ========
> ID Part# Date Values Dis Amount Dumm1 Dumm2 NetPValue NetPProfit
> 1 1487 2007/01/01 85058.16 0.00 85058.16 0.00 0.00 170116.32
> 7045370.52
> 1 1487 2007/02/01 94227.31 0.00 94227.31 0.00 0.00 188454.62
> 6695362.70
> 1 1487 2007/03/01 107397.87 0.00 107397.87 0.00 0.00 214795.74
> 8771624.18
>
> ------------------------------------------------------------------------------------------------------------------------------------------------------
>
> Now I want to combine then together and have aresult of three lines
> with the values of NetSaleValue, NetSaleProfit, NetPurchValue,
> NetPurchProfit in ONE line ....
>
> How can I acomplish that ...
>
> Thanks and best regards,
> Waleed


Am I missing something? It appears that your FROM, WHERE, and GROUP
BY clauses
are identical, so you should just be able to move over the sum()s from
one query to the other:

SELECT ID,
Part#,
Period,
Value,
Dis, Amt,
sum(NetSaleValue) as NetSaleValue,
sum(NetSaleProfit) as NetSaleProfit,
sum(NetPurchValue) as NetPurchValue,
sum(NetPurchProfit) as NetPurchProfit
0.00 as Dum1,
0.00 as Dum2
FROM RegMaster a, Parts b
Where a.ID = 1 and datepart(yy,a.perdio) = 2007 and regCode = '1487'
and
a.id = b.id AND a.part# = b.part#
GROUP BY a.id,
a.regCode,
a.Period,
a.Value,
a.Dis,
a.Amount
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #3 (permalink)  
Old 05-05-2008, 05:51 AM
Waleed Seada
 
Posts: n/a
Default Re: UNION all return two rows

On Apr 30, 6:14*pm, b...@sybase.com wrote:
> On Apr 30, 2:46 am, Waleed Seada <waleed.se...@yahoo.com> wrote:
>
>
>
>
>
> > Dear All,

>
> > I have created two select statments, each produce three lines with
> > this layout:

>
> > 1st Select:
> > *SELECT ID,
> > * * * * *Part#,
> > * * * * *Period,
> > * * * * *Value,
> > * * * * *Dis,
> > * * * * *Amt,
> > * * * * *sum(NetSaleValue) as NetSaleValue,
> > * * * * *sum(NetSaleProfit) as NetSaleProfit,
> > * * * * *0.00 *as Dum1,
> > * * * * *0.00 *as Dum2
> > * * FROM RegMaster a, Parts b
> > Where a.ID = 1 and datepart(yy,a.perdio) = 2007 and regCode = '1487'
> > and
> > * * * * * * * * *a.id = b.id AND a.part# = b.part#
> > GROUP BY a.id,
> > * * * * *a.regCode,
> > * * * * *a.Period,
> > * * * * *a.Value,
> > * * * * *a.Dis,
> > * * * * *a.Amount

>
> > 1st Output:
> > ========
> > ID Part# * * * *Date * * Values * * * * Dis * * Amount *NetSValue * * * NetSProfit * * * * *Dum1 * * * *Dum2
> > 1 1487 *2007/01/01 85058.16 * * * * * * 0.00 * *85058.16 * * * *170116.32 * * * 7045370.52 * *0.00
> > 0.00
> > 1 1487 *2007/02/01 94227.31 * * * * * * 0.00 * *94227.31 * * * *188454.62 * * * 6695362.70 * *0.00
> > 0.00
> > 1 1487 *2007/03/01 107397.87 * *0.00 * *107397.87 * * * 214795.74 * * * 8771624.18
> > 0.00 * *0.00

>
> > ---------------------------------------------------------------------------*---------------------------------------------------------------------------
> > 2nd Select:
> > *SELECT ID,
> > * * * * *Part#,
> > * * * * *Period,
> > * * * * *Value,
> > * * * * *Dis,
> > * * * * *Amt,
> > * * * * *0.00 *as Dum1,
> > * * * * *0.00 *as Dum2,
> > * * * * *sum(NetPurchValue) as NetPurchValue,
> > * * * * *sum(NetPurchProfit) as NetPurchProfit
> > * * FROM RegMaster a, Parts b
> > Where a.ID = 1 and datepart(yy,a.perdio) = 2007 and regCode = '1487'
> > and
> > * * * * * * * * *a.id = b.id AND a.part# = b.part#
> > GROUP BY a.id,
> > * * * * *a.regCode,
> > * * * * *a.Period,
> > * * * * *a.Value,
> > * * * * *a.Dis,
> > * * * * *a.Amount

>
> > 2nd Output:
> > ========
> > ID Part# * * * *Date * * Values * * * * Dis * * Amount *Dumm1 * Dumm2 * NetPValue * * * NetPProfit
> > 1 1487 *2007/01/01 85058.16 * * * * * * 0.00 * *85058.16 * * * *0.00 * *0.00 * *170116.32
> > 7045370.52
> > 1 1487 *2007/02/01 94227.31 * * * * * * 0.00 * *94227.31 * * * *0.00 * *0.00 * *188454.62
> > 6695362.70
> > 1 1487 *2007/03/01 107397.87 * *0.00 * *107397.87 * * * 0.00 * *0.00 * *214795.74
> > 8771624.18

>
> > ---------------------------------------------------------------------------*---------------------------------------------------------------------------

>
> > Now I want to combine then together and have aresult of three lines
> > with the values of NetSaleValue, NetSaleProfit, NetPurchValue,
> > NetPurchProfit in ONE line ....

>
> > How can I acomplish that ...

>
> > Thanks and best regards,
> > Waleed

>
> Am I missing something? *It appears that your FROM, WHERE, and GROUP
> BY clauses
> are identical, so you should just be able to move over the sum()s from
> one query to the other:
>
> * SELECT ID,
> * * * * * Part#,
> * * * * * Period,
> * * * * * Value,
> * * * * * Dis, * * * * *Amt,
> * * * * * sum(NetSaleValue) as NetSaleValue,
> * * * * * sum(NetSaleProfit) as NetSaleProfit,
> * * * * *sum(NetPurchValue) as NetPurchValue,
> * * * * *sum(NetPurchProfit) as NetPurchProfit
> * * * * * 0.00 *as Dum1,
> * * * * * 0.00 *as Dum2
> * * *FROM RegMaster a, Parts b
> *Where a.ID = 1 and datepart(yy,a.perdio) = 2007 and regCode = '1487'
> *and
> * * * * * * * * * a.id = b.id AND a.part# = b.part#
> *GROUP BY a.id,
> * * * * * a.regCode,
> * * * * * a.Period,
> * * * * * a.Value,
> * * * * * a.Dis,
> * * * * * a.Amount- Hide quoted text -
>
> - Show quoted text -


Dear All,
I am sorry for the missleading ... the second select should join
Regmaster with Spars b not Parts
as I mention at the begining, we have three tables ... RagMaster,
Parts, Spars

Bets regards,
Waleed
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
Reply


Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On



All times are GMT. The time now is 06:42 AM.


Powered by vBulletin® Version 3.6.5
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.1.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145