OOo Base SQL Wenn dann in Abfragen
Moderator: Moderatoren
OOo Base SQL Wenn dann in Abfragen
Moin,
ich habe eine Abfrage erstellt. jeweils mit 3 Spalten. "Spalte 1" "Spalte2 " "Spalte3"
Ich möchte jetzt in "Spalte" 3 das Ergebnis wie folgt haben.
Resulttat in "Spalte3" : Wenn "Spalte1" der Wert = 1, dann nehme den Wert von "Spalte2" ansonsten nehme den Wert aus "Spalte1"
Vielen Dank für die Unterstützung eines neuen Openoffice nutzer
und tschüss Bus
ich habe eine Abfrage erstellt. jeweils mit 3 Spalten. "Spalte 1" "Spalte2 " "Spalte3"
Ich möchte jetzt in "Spalte" 3 das Ergebnis wie folgt haben.
Resulttat in "Spalte3" : Wenn "Spalte1" der Wert = 1, dann nehme den Wert von "Spalte2" ansonsten nehme den Wert aus "Spalte1"
Vielen Dank für die Unterstützung eines neuen Openoffice nutzer
und tschüss Bus
Re: OOo Base SQL Wenn dann in Abfragen
Aloha
Code: Alles auswählen
SELECT CASE "Spalte1" WHEN 1 THEN "Spalte2" ELSE "Spalte1" END FROM DUAL
Re: OOo Base SQL Wenn dann in Abfragen
Moin, und vielen Dank für die Antwort.
Da ich noch nicht viel Erfahrungen im SQL habe , habe ich noch drei Nachfragen:
SELECT CASE "Spalte1" WHEN 1 THEN "Spalte2" ELSE "Spalte1" END FROM DUAL
1. Das Ergebnis soll ja in die "Spalte3" aber wor finde ich die in dem Code?
2. Was bedeutet "END FROM DUAL" im Code?
3. Kann ich den Begriff "SELECT" mehrfach im Code verwenden oder muss der Begriff nicht immer m Anfang stehen?
Vielen Dank für die nochmalige Mühe und einen schönen Tag
Bus
Da ich noch nicht viel Erfahrungen im SQL habe , habe ich noch drei Nachfragen:
SELECT CASE "Spalte1" WHEN 1 THEN "Spalte2" ELSE "Spalte1" END FROM DUAL
1. Das Ergebnis soll ja in die "Spalte3" aber wor finde ich die in dem Code?
2. Was bedeutet "END FROM DUAL" im Code?
3. Kann ich den Begriff "SELECT" mehrfach im Code verwenden oder muss der Begriff nicht immer m Anfang stehen?
Vielen Dank für die nochmalige Mühe und einen schönen Tag
Bus
Re: OOo Base SQL Wenn dann in Abfragen
Aloha
Wenn Du willst, kannst Du auch den entsprechenden Spaltenalias vergeben:
Ein Komplex aus Abfragen (z.B. mit korrelierten Unterabfragen) kann allerdings auch mehrere SELECTS enthalten.
Das Konstrukt "CASE "Spalte1" WHEN 1 THEN "Spalte2" ELSE "Spalte1" END" ist Deine Spalte3.Bus hat geschrieben:1. Das Ergebnis soll ja in die "Spalte3" aber wor finde ich die in dem Code?
Wenn Du willst, kannst Du auch den entsprechenden Spaltenalias vergeben:
Code: Alles auswählen
SELECT CASE "Spalte1" WHEN 1 THEN "Spalte2" ELSE "Spalte1" END AS "Spalte3" FROM "meineTabelle"
END ist Bestandteil der CASE-Fallunterscheidung, FROM sollte bekannt sein, DUAL ist eine x-beliebige Tabelle, ersetz es einfach mit dem entsprechenden Tabellennamen.Bus hat geschrieben:2. Was bedeutet "END FROM DUAL" im Code?
Jede einzelne Abfrage für sich betrachtet kann nur ein SELECT haben, und dieses muss am Anfang stehen, richtig.Bus hat geschrieben:3. Kann ich den Begriff "SELECT" mehrfach im Code verwenden oder muss der Begriff nicht immer m Anfang stehen?
Ein Komplex aus Abfragen (z.B. mit korrelierten Unterabfragen) kann allerdings auch mehrere SELECTS enthalten.
Re: OOo Base SQL Wenn dann in Abfragen
Moin,
vielen Dank für die Erklärungen, man lernt immer dazu.
Ich habe folgenden SQL Code eingeben:
SELECT "Spalte1", "Spalte2" CASE "Spalte1" WHEN 1 THEN "Spalte2" ELSE "Spalte1" END AS "Spalte3" FROM "Abfrage2" AS "Abfrage2"
Leider bekomme ich SQL Fehlr im Syntax, SQL Status S1000 Fehlr Code 1000
Kann man mir noch einmal helfen.
Vielen Dank
Bus
vielen Dank für die Erklärungen, man lernt immer dazu.
Ich habe folgenden SQL Code eingeben:
SELECT "Spalte1", "Spalte2" CASE "Spalte1" WHEN 1 THEN "Spalte2" ELSE "Spalte1" END AS "Spalte3" FROM "Abfrage2" AS "Abfrage2"
Leider bekomme ich SQL Fehlr im Syntax, SQL Status S1000 Fehlr Code 1000
Kann man mir noch einmal helfen.
Vielen Dank
Bus
-
- ********
- Beiträge: 4330
- Registriert: Di, 22.06.2004 12:02
- Wohnort: 71134 Aidlingen
- Kontaktdaten:
Re: OOo Base SQL Wenn dann in Abfragen
Entspricht ja auch nicht dem Code von DPunch.Bus hat geschrieben: Ich habe folgenden SQL Code eingeben:
SELECT "Spalte1", "Spalte2" CASE "Spalte1" WHEN 1 THEN "Spalte2" ELSE "Spalte1" END AS "Spalte3" FROM "Abfrage2" AS "Abfrage2"
Leider bekomme ich SQL Fehlr im Syntax, SQL Status S1000 Fehlr Code 1000
Gruß
Peter
---------------------------------------------------------------------------
Windows 7 Prof. 64-bit SP1, LibreOffice 4.3.6.2 und AOO 4.1.1
Peter
---------------------------------------------------------------------------
Windows 7 Prof. 64-bit SP1, LibreOffice 4.3.6.2 und AOO 4.1.1
Re: OOo Base SQL Wenn dann in Abfragen
Aloha
Zum einen fehlt hier
Zum anderen ist es unter Umständen nötig, oben in der Symbolleiste das Häkchen bei "SQL-Kommando direkt ausführen" zu setzen.
Zum einen fehlt hier
ein Komma zwischen "Spalte2" und "CASE".Bus hat geschrieben:SELECT "Spalte1", "Spalte2" CASE "Spalte1" WHEN 1 THEN "Spalte2" ELSE "Spalte1" END AS "Spalte3" FROM "Abfrage2" AS "Abfrage2"
Zum anderen ist es unter Umständen nötig, oben in der Symbolleiste das Häkchen bei "SQL-Kommando direkt ausführen" zu setzen.
Re: OOo Base SQL Wenn dann in Abfragen
Moin, Danke für die Antwort, leider hat es nicht geklappt.
Kann der Fehler bei der Spalte3 (dort soll ja das Ergebniss stehen) liegen? Ich denke, dass die Spalte3 durch den Code gebildet wird oder wie muss ich die Spalte3 anlegen.
Noch mal vielen Dank
Gruß
Bus
Kann der Fehler bei der Spalte3 (dort soll ja das Ergebniss stehen) liegen? Ich denke, dass die Spalte3 durch den Code gebildet wird oder wie muss ich die Spalte3 anlegen.
Noch mal vielen Dank
Gruß
Bus
Re: OOo Base SQL Wenn dann in Abfragen
Aloha
Nein, der Fehler liegt darin, dass Du die Abfrage gegen eine in Base gespeicherte Abfrage laufen lassen willst - das ist allerdings nicht möglich.Bus hat geschrieben:Kann der Fehler bei der Spalte3 (dort soll ja das Ergebniss stehen) liegen?
Re: OOo Base SQL Wenn dann in Abfragen
Moin, Danke das war die Antwort. Ich wußte nicht, dass man in Openoffice sowas nur direkt aus einer Tabelle abfragen kann.
Vielen Dank für die Ausdauer und Mühe
und tschüss
Bus
Vielen Dank für die Ausdauer und Mühe
und tschüss
Bus