OOo Base SQL Wenn dann in Abfragen

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: OOo Base SQL Wenn dann in Abfragen

Re: OOo Base SQL Wenn dann in Abfragen

von Bus » Di, 24.01.2012 19:57

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

Re: OOo Base SQL Wenn dann in Abfragen

von DPunch » Di, 24.01.2012 18:57

Aloha
Bus hat geschrieben:Kann der Fehler bei der Spalte3 (dort soll ja das Ergebniss stehen) liegen?
Nein, der Fehler liegt darin, dass Du die Abfrage gegen eine in Base gespeicherte Abfrage laufen lassen willst - das ist allerdings nicht möglich.

Re: OOo Base SQL Wenn dann in Abfragen

von Bus » Di, 24.01.2012 16:43

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

Re: OOo Base SQL Wenn dann in Abfragen

von DPunch » Di, 24.01.2012 15:42

Aloha

Zum einen fehlt hier
Bus hat geschrieben:SELECT "Spalte1", "Spalte2" CASE "Spalte1" WHEN 1 THEN "Spalte2" ELSE "Spalte1" END AS "Spalte3" FROM "Abfrage2" AS "Abfrage2"
ein Komma zwischen "Spalte2" und "CASE".
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

von pmoegenb » Di, 24.01.2012 15:23

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
Entspricht ja auch nicht dem Code von DPunch.

Re: OOo Base SQL Wenn dann in Abfragen

von Bus » Di, 24.01.2012 15:07

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

Re: OOo Base SQL Wenn dann in Abfragen

von DPunch » Di, 24.01.2012 13:26

Aloha
Bus hat geschrieben:1. Das Ergebnis soll ja in die "Spalte3" aber wor finde ich die in dem Code?
Das Konstrukt "CASE "Spalte1" WHEN 1 THEN "Spalte2" ELSE "Spalte1" END" ist Deine Spalte3.
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"
Bus hat geschrieben:2. Was bedeutet "END FROM DUAL" im Code?
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:3. Kann ich den Begriff "SELECT" mehrfach im Code verwenden oder muss der Begriff nicht immer m Anfang stehen?
Jede einzelne Abfrage für sich betrachtet kann nur ein SELECT haben, und dieses muss am Anfang stehen, richtig.
Ein Komplex aus Abfragen (z.B. mit korrelierten Unterabfragen) kann allerdings auch mehrere SELECTS enthalten.

Re: OOo Base SQL Wenn dann in Abfragen

von Bus » Mo, 23.01.2012 09:29

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

Re: OOo Base SQL Wenn dann in Abfragen

von DPunch » So, 22.01.2012 18:49

Aloha

Code: Alles auswählen

SELECT CASE "Spalte1" WHEN 1 THEN "Spalte2" ELSE "Spalte1" END FROM DUAL

OOo Base SQL Wenn dann in Abfragen

von Bus » So, 22.01.2012 10:41

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

Nach oben