2 Selects in Einem? (Gegenüberstellung)
2 Selects in Einem? (Gegenüberstellung)
am 10.11.2006 10:42:34 von spam
Hallo,
ich brauche mal bitte einen Denkanstoß für folgende Aufgabenstellung:
In einer Tabelle befinden sich Datensätze mit folgender Struktur:
Kostenstelle, Job_Datum, Job_Dauer, Erfass_Typ
In Erfass_Typ steht entweder "BDE" oder irgend etwas Anderes. Ziel ist
es, per SQL-Statement eine Ergebnistabelle in der Art zu erstellen:
Kostenstelle, Job_Datum, Job_Dauer_BDE, Job_Dauer_sonstig
Es sollen also die aufgelaufenen Fertigungszeiten pro Tag und
Kostenstelle summiert werden - einmal die, die mittels BDE erfasst
wurden und die, die mittels (derzeit noch parallel laufendem)
Tageszettel erfasst wurden. Ziel ist es, die Werte auf Plausibilität zu
prüfen (gegenüberzustellen) ...
Ich steh da gerade irgendwie auf dem Schlauch. Möglichst ohne temporäre
Tabelle, Laufzeit ist egal.
Danke für Tips, Frank
Re: 2 Selects in Einem? (Gegenüberstellung)
am 10.11.2006 11:08:46 von Andreas Kretschmer
Andreas
--
Andreas Kretschmer
Linux - weil ich es mir wert bin!
GnuPG-ID 0x3FFF606C http://wwwkeys.de.pgp.net
Deutsche PostgreSQL User Group: http://pgug.de
Re: 2 Selects in Einem? (Gegenüberstellung)
am 10.11.2006 11:34:29 von Thomas Rachel
Frank Esselbach wrote:
> Hallo,
>
> ich brauche mal bitte einen Denkanstoà für folgende Aufgabenstellung:
>
> In einer Tabelle befinden sich Datensätze mit folgender Struktur:
>
> Kostenstelle, Job_Datum, Job_Dauer, Erfass_Typ
>
> In Erfass_Typ steht entweder "BDE" oder irgend etwas Anderes. Ziel ist
> es, per SQL-Statement eine Ergebnistabelle in der Art zu erstellen:
>
> Kostenstelle, Job_Datum, Job_Dauer_BDE, Job_Dauer_sonstig
Und die Gemeinsamkeit liegt bei Kostenstelle und Job_Datum? Und die
beiden sind dann eindeutig?
Dann sollte sowas gehen wie
SELECT
t1.Kostenstelle, t1.Job_Datum, t1.Job_Dauer AS Job_Dauer_BDE,
t2.Job_Dauer AS Job_Dauer_sonstig, t2.Erfass_Typ FROM
Tabelle t1
JOIN Tabelle t2 ON
t1.Kostenstelle=t2.Kostenstelle AND
t1.Job_Datum=t2.Job_Datum AND
t1.Erfass_Typ='BDE' AND t2.Erfass_Typ!='BDE'
Kann sein, daà Du eine oder beide der 'BDE'-Bedingungen ins WHERE
auslagern muÃt, da bin ich mir nie sicher...
HTH,
Thomas
--
Wo kaemen wir den da hin, wenn jeder jedes Fup auf einen eigenen Artikel
gleich persoenlich nehmen wuerden... Oh... nach dang... :)
(Christian Wederhake in de.alt.admin)
Re: 2 Selects in Einem? (Gegenüberstellung)
am 10.11.2006 15:00:40 von Werner Bauer
Frank Esselbach schrieb:
> Kostenstelle, Job_Datum, Job_Dauer, Erfass_Typ
>=20
> In Erfass_Typ steht entweder "BDE" oder irgend etwas Anderes. Ziel ist
> es, per SQL-Statement eine Ergebnistabelle in der Art zu erstellen:
>=20
> Kostenstelle, Job_Datum, Job_Dauer_BDE, Job_Dauer_sonstig
>=20
> Es sollen also die aufgelaufenen Fertigungszeiten pro Tag und
> Kostenstelle summiert werden - einmal die, die mittels BDE erfasst
> wurden und die, die mittels (derzeit noch parallel laufendem)
> Tageszettel erfasst wurden. Ziel ist es, die Werte auf Plausibilität =
zu
> prüfen (gegenüberzustellen) ...=20
nicht getestet ... auch nicht an deine Gross-Kleinschreibungsweise=20
angepasst:
SELECT kostenstelle, job_datum,
sum(if(erfass_typ=3D'BDE',job_dauer,0)) sum_bde,
sum(if(erfass_typ<>'BDE',job_dauer,0)) sum_nonbde
..
group by 1,2
HTH,
Werner