Brauche schnelle Hilfe

Datenbanklösungen mit AOO/LO

Moderator: Moderatoren

crush
**
Beiträge: 36
Registriert: Mo, 26.03.2012 08:19

Brauche schnelle Hilfe

Beitrag von crush »

Moin, ich stehe gerade etwas auf dem Schlauch.
Ich brauche eine Abfrage aus einer Tabelle in der die Spalte "Zeitguthaben (Minuten)" enthalten ist. Die Minuten sind entweder immer '40330' (also 28 Tage und 10 Minuten) oder weniger, dann sinds nur 7 tage und 10 Minuten.

Meine Abfrage sieht bisher so aus:

Code: Alles auswählen

SELECT "Zeitguthaben (Minuten)" AS "Zeit", CASE WHEN "Zeitguthaben (Minuten)"='40330' THEN '4 Wochen' ELSE '7 Tage' END AS "Guthaben" FROM "Tabelle1"
Aber die Spalte "Guthaben" bleibt leer...
crush
**
Beiträge: 36
Registriert: Mo, 26.03.2012 08:19

Re: Brauche schnelle Hilfe

Beitrag von crush »

Code: Alles auswählen

SELECT "Zeitguthaben (Minuten)" AS "Zeit" CASE "Zeitguthaben (Minuten)" WHEN '40330' THEN '4 Wochen' END AS "Guthaben" FROM "Tabelle1"
habe ich auch schon probiert, Ergebnis ist SQL Syntax Fehler
pmoegenb
********
Beiträge: 4330
Registriert: Di, 22.06.2004 12:02
Wohnort: 71134 Aidlingen
Kontaktdaten:

Re: Brauche schnelle Hilfe

Beitrag von pmoegenb »

crush hat geschrieben: Meine Abfrage sieht bisher so aus:

Code: Alles auswählen

SELECT "Zeitguthaben (Minuten)" AS "Zeit", CASE WHEN "Zeitguthaben (Minuten)"='40330' THEN '4 Wochen' ELSE '7 Tage' END AS "Guthaben" FROM "Tabelle1"
probiere es mal so (vorausgesetzt der Feldinhalt von Zeitguthaben (Minuten) ist tatsächlich ein String):

Code: Alles auswählen

SELECT "Zeitguthaben (Minuten)" AS "Zeit", CASE WHEN "Zeitguthaben (Minuten)"='40330' THEN '4 Wochen Guthaben' ELSE '7 Tage Guthaben' END FROM "Tabelle1"
Gruß

Peter
---------------------------------------------------------------------------
Windows 7 Prof. 64-bit SP1, LibreOffice 4.3.6.2 und AOO 4.1.1
crush
**
Beiträge: 36
Registriert: Mo, 26.03.2012 08:19

Re: Brauche schnelle Hilfe

Beitrag von crush »

Das habe ich ja oben schon probiert, es kommt zwar kein Fehler, aber die Spalte bleibt leer. Und der Datentyp ist String, da ich die Quelle aus einer CSV-Datei erstellt habe.
Bild
pmoegenb
********
Beiträge: 4330
Registriert: Di, 22.06.2004 12:02
Wohnort: 71134 Aidlingen
Kontaktdaten:

Re: Brauche schnelle Hilfe

Beitrag von pmoegenb »

crush hat geschrieben:Und der Datentyp ist String, da ich die Quelle aus einer CSV-Datei erstellt habe.
Was hat das damit zu tun ? Hier kannst Du Dir Kenntnisse über dieses Datenformat verschaffen.

An Deine Stelle würde ich einfach mal '40330' durch 40330 ersetzen.
Gruß

Peter
---------------------------------------------------------------------------
Windows 7 Prof. 64-bit SP1, LibreOffice 4.3.6.2 und AOO 4.1.1
crush
**
Beiträge: 36
Registriert: Mo, 26.03.2012 08:19

Re: Brauche schnelle Hilfe

Beitrag von crush »

Ja, meine Antwort kam mir beim Schreiben schon etwas scheinheilig vor... Egal, ob ='40330' oder =40333 oder von mir aus auch >1, die Spalte bleibt leer.
Die CSV enthält
Kopfzeile:.....;"Zeitguthaben (Minuten)";.....
Datenzeilen:.....;"40330";.....
.....
Korrekt eingebunden ist sie jedenfalls, kann sonst auf alle Spalten zugreifen.
RobertG
********
Beiträge: 2067
Registriert: Fr, 13.04.2012 19:28
Kontaktdaten:

Re: Brauche schnelle Hilfe

Beitrag von RobertG »

Hallo crush,

wie hast Du die *.csv-Datei eingebunden? Ist sie Teil einer HSQLDB oder liegt sie nur nicht beschreibbar in einem Verzeichnis? Wenn sie nur in einem Verzeichnis liegt, dann kannst Du den Zugriff mit Funktionen auf die *.csv-Datei vergessen. Schau Dir einfach die grafische Benutzeroberfläche bei der Abfrage an, klicke "Funktionen". Die werden nicht unterstützt. Einige Funktionen, die Du in SQL nutzen willst, werden von der GUI zwar erkannt, aber für die *.csv-Datei auch nicht umgesetzt.

Gruß

Robert
crush
**
Beiträge: 36
Registriert: Mo, 26.03.2012 08:19

Re: Brauche schnelle Hilfe

Beitrag von crush »

Ich habe die CSV Datei mit dem Assistenten (Adress Datenquelle -> andere Datenquellen -> Text) im Writer eingebunden, die Daten wollte ich dann in einem Serienbrief verwursten. Im gleichen Verzeichnis wurde dann eine ODB angelegt, in der ich die Tabelle(n) sehen kann, die als CSV im Ordner liegen. Das ist natürlich Mist, wenn dann der volle Funktionsumfang nicht unterstützt wird. Gibts denn eine Möglichkeit, auf die Funktionen zugreifen zu können?
F3K Total
********
Beiträge: 3720
Registriert: Mo, 28.02.2011 17:49

Re: Brauche schnelle Hilfe

Beitrag von F3K Total »

Hi,
wenn Du die volle SQL-Funktionalität benutzen möchtest, solltest du die .csv importieren, siehe z.B. Videotutorial 8
Gruß R
crush
**
Beiträge: 36
Registriert: Mo, 26.03.2012 08:19

Re: Brauche schnelle Hilfe

Beitrag von crush »

Ah, dann ist die über den Assistenten erstellte ODB gar keine richtige Datenbank. Ok, jetzt sehe ich auch, dass ich in Base auch keine Tabellen einfach so dazu anlegen kann. Naja, wäre auch zu leicht gewesen.

Auch wenns jetzt hier am falschen Platz ist, kann man denn jetzt die Feldvariable für den Serienbrief mit einer Abfrage einbinden, wie: Wenn Wert aus der Tabelle "x", dann schreiben "y"... ?
F3K Total
********
Beiträge: 3720
Registriert: Mo, 28.02.2011 17:49

Re: Brauche schnelle Hilfe

Beitrag von F3K Total »

Hi,
crush hat geschrieben:kann man denn jetzt die Feldvariable für den Serienbrief mit einer Abfrage einbinden
Ja, kann man.
Du kannst Parameterabfragen erstellen, wenn du dann einen, auf einer solchen Parameterabfrage basierenden Serienbrief drucken willst, wirst du nach den Parametern gefragt.
Gruß R
Antworten