Select + select + select

Select + select + select

am 13.01.2008 17:11:21 von Kay Schulz

Hallo zusammen,

ich habe mehrere selects addiert, aber jetzt ist es so kompliziert,
dass ich es nicht hinbekomme.
Ich bin bis zu zwei einzelnen Statements gekommen. Die will ich
im Prinzip addieren (besser gesagt, Statement 1 mal 2 + Statement 2).
Wie mache ich das?
Auch sonstige Vereinfachungen sind willkommen.

Statement 1:
select sum(wert) + (select COALESCE(sum(case when reinraus='in' then
wert else -wert end), 0) from GV where W='E' and
month(datum)=month(curdate())) from KS where W='E' and
month(datum)=month(curdate());

Statement 2:
select sum(wert) + (select COALESCE(sum(case when reinraus='in' then
wert else -wert end), 0) from GV where W='C' and
month(datum)=month(curdate())) from KS where W='C' and
month(datum)=month(curdate());

Grüsse

Kay

Re: Select + select + select

am 13.01.2008 17:15:48 von Claus Reibenstein

Kay Schulz schrieb:

> ich habe mehrere selects addiert

Was meinst Du damit?

> select sum(wert) + (select COALESCE(sum(case when reinraus='in' then
> wert else -wert end), 0) from GV where W='E' and
> month(datum)=month(curdate())) from KS where W='E' and
> month(datum)=month(curdate());

Kannst Du das bitte mal so formatieren, dass auch ein Mensch das versteht?

Gruß. Claus

Re: Select + select + select

am 13.01.2008 19:51:13 von Kay Schulz

Claus Reibenstein schrieb:
> Kay Schulz schrieb:
>
>> ich habe mehrere selects addiert
>
> Was meinst Du damit?
Hallo Claus,
die gelieferten Zahlen (summe) zweier Select Statements.

>
>> select sum(wert) + (select COALESCE(sum(case when reinraus='in' then
>> wert else -wert end), 0) from GV where W='E' and
>> month(datum)=month(curdate())) from KS where W='E' and
>> month(datum)=month(curdate());
>
> Kannst Du das bitte mal so formatieren, dass auch ein Mensch das versteht?
>
:-)
Ich probiere es mal...
Statement 1:
select sum(wert) +
(select COALESCE(sum(case when reinraus='in' then wert else -wert
end), 0)
from GV where W='E' and month(datum)=month(curdate()))
from KS where W='E' and month(datum)=month(curdate());

Statement 2:
select sum(wert) +
(select COALESCE(sum(case when reinraus='in' then wert else -wert
end), 0)
from GV where W='C' and month(datum)=month(curdate()))
from KS where W='C' and month(datum)=month(curdate());

Besser?
Kay