🍀 Das LibreOffice Forum braucht HEUTE Ihre Hilfe! 🍀
❤️ Spenden Sie jetzt und sichern Sie die Zukunft unseres LibreOffice-Forums ❤️
Ihre Spende hilft, die Community offen, werbefrei (bei Registrierung) und lebendig zu halten. Vielen lieben Dank!
>> Das LibreOffice-Forum lebt von Ihnen – und von vielen Experten, die freiwillig und kostenlos ihr Wissen teilen.<<
Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet.
Base ermöglicht es Ihnen, Ihre Daten in einer Datenbank direkt mit LibreOffice zu bearbeiten.
-
Vom_Lande
- Beiträge: 3
- Registriert: Fr 23. Jan 2015, 19:33
Beitrag
von Vom_Lande » Fr 23. Jan 2015, 23:42
Hallo Leute,
ich will eine Abfrage ungefähr so¹ gestalten:
Code: Alles auswählen
IF "Filtertabelle"."Filter1" IS NOT NULL THEN
SELECT "Tabelle_1"."Spalte_1" || ' ' || "Tabelle_1"."Spalte_2" FROM "Tabelle_1"
ELSE
SELECT "Tabelle_2"."Spalte1" || ' ' || "Tabelle_2"."Spalte2" FROM "Tabelle_2"
END IF
Ist dieses Vorhaben ohne Makros zu lösen?
Wenn "ja" wie würde die Lösung lauten?
MfG
Andy
__________________________________
¹Sehr vereinfaches Beispiel der SELECT-Abfrage
-
F3K Total
- * LO-Experte *
- Beiträge: 2515
- Registriert: So 10. Apr 2011, 10:10
Beitrag
von F3K Total » Sa 24. Jan 2015, 01:26
Hi,
unschön, da nur i.O. wenn keine Werte in Spalte 1 und 2 doppelt vorkommen:
Code: Alles auswählen
SELECT DISTINCT CASEWHEN("Filtertabelle"."Filter1" IS NULL,X."Spalte1"||' '||X."Spalte2",Y."Spalte1"||' '||Y."Spalte2") FROM "Filtertabelle", "Tabelle1" X, "Tabelle2" Y
Besser wäre es, beide Tabellen in einer Tabelle zusammenzufassen und eine Unterscheidungsspalte z.B. "U" Integer 1 oder 2 zuzufügen, dann wäre die Abfrage:
Code: Alles auswählen
SELECT "Tabelle1"."Spalte1"||' '||"Tabelle1"."Spalte2" FROM "Filtertabelle", "Tabelle1" WHERE "U" = CASEWHEN("Filtertabelle"."Filter1" IS NULL,1,2)
HTH R
Windows 11: AOO, LO Linux Mint: AOO, LO
-
Vom_Lande
- Beiträge: 3
- Registriert: Fr 23. Jan 2015, 19:33
Beitrag
von Vom_Lande » So 25. Jan 2015, 13:06
Hallo F3K Total,
danke für deine Antwort. Leider kann ich beide Code(Beispiele) nicht verwnden:
Code 1
Die Werte in den Spalten 1 und 2 kommen mehrfach vor.
Code 2
Beide Tabellen in einer zu vereinen ist leider nicht möglich, da ich diese Tabellen in den Eingabeformularen als Grundlage für Listenfelder verwende.
Mal schauen wie ich diese Datenbank anonymisieren kann ohne den eigentlichen Sinn und Zweck dieser Datenbank der Öffentlichkeit preiszugeben...
MfG
Andy
-
F3K Total
- * LO-Experte *
- Beiträge: 2515
- Registriert: So 10. Apr 2011, 10:10
Beitrag
von F3K Total » So 25. Jan 2015, 13:32
Vom_Lande hat geschrieben:Beide Tabellen in einer zu vereinen ist leider nicht möglich, da ich diese Tabellen in den Eingabeformularen als Grundlage für Listenfelder verwende.
Und? Du kannst Listenfelder statt mit einer Tabelle genauso gut per SQL füllen und dann eben
in das erste und
in das zweite schreiben
Gruß R
Windows 11: AOO, LO Linux Mint: AOO, LO
An alle, die das LibreOffice-Forum gern nutzen:
Bitte beteiligen Sie sich mit 7 Euro pro Monat und helfen uns bei unserem Budget für das laufende.
Einfach per Kreditkarte oder PayPal. Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet.
❤️ Vielen lieben Dank für Ihre Unterstützung ❤️