Hallo liebe Member,
ich habe da ein (Oracle)SQL-Abfrageproblem, dass ich aber mit meinen Kenntnissen nicht gelöst bekomme.
Folgende Tabelle (vereinfacht dargestellt):
Von bis Art Fall
01.01.08 30.04.2010 A 55111
01.08.09 31.07.2010 A 55111
01.01.09 31.03.2010 A 55111
01.01.08 31.12.2010 B 55111
Ich möchte nun eindeutige Ergebnisse in Bezug auf die Art haben. D.h. also
A 55111
B 55111
Jetzt soll mir aber auch noch der minimalste "Von"-Wert und der maximalste "Bis"-Wert ausgegeben werden.
Also so
01.01.08 31.07.2010 A 55111
01.01.08 31.12.2010 B 55111
Angenommen die Tabelle würde Buchdaten heißen, habe ich sowas probiert:
select
distinct(buchdaten.fall),
min(buchdaten.von),
max(buchdaten.bis),
buchdaten.art
from
buchdaten
where
buchdaten.bis >= '31.12.2009' or buchdaten.bis is NULL
group by
buchdaten.fall,
buchdaten.von,
buchdaten.bis,
buchdaten.art
Ich kriege so aber immer nur alle vier Zeilen, anstatt nur zwei Zeilen mit dem minimalen und maximalen Wert. Ich bin mir nicht sicher, ob das überhaupt geht, was ich mir da vorstelle![Stirnrunzeln](https://entwickler-forum.de/core/images/smilies/frown.png)
Gibt es vielleicht noch einen anderen Ansatz, außer mit distinct?!?
Hinweis:
Es kann vorkommen, dass der "Bis"-Wert ein u.U. auch leer ist.
Für jeden Tipp bin ich euch über alles dankbar.
Liebe Grüße
Marianne
ich habe da ein (Oracle)SQL-Abfrageproblem, dass ich aber mit meinen Kenntnissen nicht gelöst bekomme.
Folgende Tabelle (vereinfacht dargestellt):
Von bis Art Fall
01.01.08 30.04.2010 A 55111
01.08.09 31.07.2010 A 55111
01.01.09 31.03.2010 A 55111
01.01.08 31.12.2010 B 55111
Ich möchte nun eindeutige Ergebnisse in Bezug auf die Art haben. D.h. also
A 55111
B 55111
Jetzt soll mir aber auch noch der minimalste "Von"-Wert und der maximalste "Bis"-Wert ausgegeben werden.
Also so
01.01.08 31.07.2010 A 55111
01.01.08 31.12.2010 B 55111
Angenommen die Tabelle würde Buchdaten heißen, habe ich sowas probiert:
select
distinct(buchdaten.fall),
min(buchdaten.von),
max(buchdaten.bis),
buchdaten.art
from
buchdaten
where
buchdaten.bis >= '31.12.2009' or buchdaten.bis is NULL
group by
buchdaten.fall,
buchdaten.von,
buchdaten.bis,
buchdaten.art
Ich kriege so aber immer nur alle vier Zeilen, anstatt nur zwei Zeilen mit dem minimalen und maximalen Wert. Ich bin mir nicht sicher, ob das überhaupt geht, was ich mir da vorstelle
![Stirnrunzeln](https://entwickler-forum.de/core/images/smilies/frown.png)
Gibt es vielleicht noch einen anderen Ansatz, außer mit distinct?!?
Hinweis:
Es kann vorkommen, dass der "Bis"-Wert ein u.U. auch leer ist.
Für jeden Tipp bin ich euch über alles dankbar.
Liebe Grüße
Marianne
Comment