Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

SQL : Union für Spalten ?

0 views
Skip to first unread message

André Kanisch

unread,
Mar 11, 2001, 2:40:06 PM3/11/01
to
Hi,

besteht mit SQL die Möglichkeit, Spalten verschiedener Tabellen
zusammenzufügen?
Folgende Struktur:

Datum: 02.03.2001
Woche: 9
Wert: 10,20

Ich möchte jetzt per SQL für jede Woche den größten und kleinsten Wert
ermitteln (das funktioniert auch).
Zusätzlich brauche ich noch die Werte vom ersten und letzten Wochentag.
Letztendlich soll alles als ein Result-Set zur Verfügung stehen.
Kann ich also die Ergebnisse mehrerer Queries spaltenweise verbinden?

Danke
André


Dieter Nöth

unread,
Mar 11, 2001, 3:13:52 PM3/11/01
to
André Kanisch wrote:
>Datum: 02.03.2001
>Woche: 9
>Wert: 10,20
>
>Ich möchte jetzt per SQL für jede Woche den größten und kleinsten Wert
>ermitteln (das funktioniert auch).
>Zusätzlich brauche ich noch die Werte vom ersten und letzten Wochentag.
>Letztendlich soll alles als ein Result-Set zur Verfügung stehen.


Hängt von der DB ab, eine Möglichkeit in ANSI-SQL:
select t1.woche, firstVal, minVal, maxVal, lastVal
from
(select woche, min(Wert) as minVal, max(Wert) as maxVal
from tab group by 1) as t1
join
(select woche, Wert as firstVal
from tab
where Datum in
(select woche, min(Datum) from tab group by 1) as t2
on t1.woche = t2.woche
join
(select woche, Wert as firstVal
from tab
where Datum in
(select woche, max(Datum) from tab group by 1) as t3
on t2.woche = t3.woche

Dieter


André Kanisch

unread,
Mar 18, 2001, 11:52:33 AM3/18/01
to
> select woche, Wert as firstVal
> from tab
> where Datum in
> (select woche, max(Datum) from tab group by 1)...
>
> Dieter

JOIN ... ON ... war die Lösung - danke.
Leider läuft o.a. Konstrukt nicht. Die Unterabfrage läuft problemlos, daß
letzte Datum jeder Woche kann ich ermitteln. Sieht für mich aber logisch aus
!?
Paradox sagt mir 'Ungültiges Schlüsselwort', Access will ein Exists und
Interbase liefert Fehler 104.
Wo liegt der Fehler?

André


Dieter Nöth

unread,
Mar 18, 2001, 1:39:03 PM3/18/01
to
André Kanisch wrote:
>> select woche, Wert as firstVal
>> from tab
>> where Datum in
>> (select woche, max(Datum) from tab group by 1)...
>>
>> Dieter
>
...

>Paradox sagt mir 'Ungültiges Schlüsselwort', Access will ein Exists und
>Interbase liefert Fehler 104.
>Wo liegt der Fehler?


Ob der Fehler an der Stelle liegt ???
Paradox kann's so (mit derived tables) definitiv nicht.
Interbase (zumindest IB5) auch nicht, aber du kannst stattdessen
mehrere Views verwenden.
Und bei Access? Keine Ahnung, vielleicht liegt's an der Version,
wenn du Access2000 hast, versuch's statt der Jet-Engine mit der MSDE
und die kann's sicher.

Dieter


0 new messages