in einer Abfrage Spalten ausblenden

Datenbanklösungen mit AOO/LO

Moderator: Moderatoren

Kolräble
Beiträge: 9
Registriert: Mo, 09.12.2013 21:48

in einer Abfrage Spalten ausblenden

Beitrag von Kolräble »

Hallo liebe Forun Benutzer,

ich komme mal wieder nicht weiter und mein letzter Versuch ist es hier her zu kommen und nachzufragen, ich hoffe ich bin an der richtigen Stelle. Bin neu hier und auch neu in OpenOffice base (libreOffice).

Folgendes Problem:
Ich möchte in einer Abfrage mehrer Spalten anzeigen lassen oder nicht und zwar nach der Bedingung einer anderen Spalte in der ein Datum drin steht. Wenn das Datum größer ist wie das heutige Datum soll es die andere Spalte (also in der wo ich die Bedingung angebe) anzeigen, wenn nicht soll die Spalte gar nicht angezeigt werden/ausgeblendet werden.

Also nach dem Motto:
SELECT "Vertraege"."Vertragsanbieter" case when "Vertraege"."datum" > current_date. Aber ich kenne keinen Syntax geschweige dem, ich weiß gar nicht ob das überhaupt möglich ist. Und ich möchte dies mit mehreren Spalten hintereinander machen. Wie geht das ?

Welche SQL Befehle gibt es hierzu, welche Möglichkeiten habe ich ?

Mit freundlichen Grüßen
F3K Total
********
Beiträge: 3720
Registriert: Mo, 28.02.2011 17:49

Re: in einer Abfrage Spalten ausblenden

Beitrag von F3K Total »

Hi,
die Anzahl der in einer Abfrage definierten Spalten läßt sich nicht mit der Abfrage selbst verändern.
Denk mal drüber nach, dass kann gar nicht gehen, eine Zeile mit fünf Spalten und die nächste Zeile mit 8 Spalten, dann wieder sechs?

Gruß R
Kolräble
Beiträge: 9
Registriert: Mo, 09.12.2013 21:48

Re: in einer Abfrage Spalten ausblenden

Beitrag von Kolräble »

Wow, danke für die schnelle Antwort!
die Anzahl der in einer Abfrage definierten Spalten läßt sich nicht mit der Abfrage selbst verändern.
Ja, stimmt du hast recht.

Ich habe mich falsch ausgedrückt, ich möchte ja nicht die Spalte selbst ausblenden sondern nur deren Inhalt in der betreffenden Zeile anzeigen lassen oder nicht.

Entschuldige bitte. :?

Es gibt ja bei mir momentan zum Beispiel den Befehl als Kriterium:

..AND "Verträge"."Vertragsende_1" > CURRENT_DATE ... also bedeuted nun das ja der inhalt von Vertragsende_1 nicht dargestellt wird wenn dieser größer ist wie CURRENT_DATE (also heute). Nun möchte ich dies auf eine anderen Spalteninhalt anwenden können, auch wenn der ein anderes Format hat wie DATE. Gibt es da Möglichkeiten ?
RobertG
********
Beiträge: 2067
Registriert: Fr, 13.04.2012 19:28
Kontaktdaten:

Re: in einer Abfrage Spalten ausblenden

Beitrag von RobertG »

Hallo Kolräble,

schau Dir einmal im Handbuch das Kapitel "Korrelierte Unterabfrage" an. Das wird wohl das sein, was Du brauchen kannst. Mit einer Unterabfrage, die nur einen Datensatz wiedergibt, dürfte das Problem zu lösen sein.

Müsste für Dein Beispiel vielleicht so aussehen:

Code: Alles auswählen

SELECT "Vertraege"."ID", ....., (SELECT "Vertragsanbieter" FROM "Vertraege" WHERE "datum" > current_date AND "ID" = "a"."ID") AS "Vertragsanbieter" FROM "Vertraege" AS "a" ...
Gruß

Robert
Kolräble
Beiträge: 9
Registriert: Mo, 09.12.2013 21:48

Re: in einer Abfrage Spalten ausblenden

Beitrag von Kolräble »

Danke Robert für die schnelle Antwort,

ich habe festgestellt, das meine Datenbank-Struktur unter "aller Sau" war :? ... Ich habe nun die Datenbank komplett umstrukturiert womit sich das Problem erst einmal erledigt hat und die Abfrage voraussichtlich sich anders gestalten wird.
Ich habe es endlich verstanden wie man mehrere Unterformulare in ein Formular bringt und in diesen die Daten mit einander Verknüpft. Somit ist es mir mögliche mehrer 1:n Beziehungen zu erstellen. Bestimmt werde ich das was du geschrieben hast noch benötigen, aber erst zu einem späteren Zeitpunkt, ich war zu voreilig.


Mit freundlichen Grüßen
Antworten