von anho1000 » Di, 26.09.2006 14:22
Hi Leute,
ich bin gerade dabei eine DB in Base zusammenzubasteln. Verwendet wird die "OOo-Datenbank", also nicht MySQL, weil die DB auch auf Rechnern verwendet werden muss, auf denen nur Openoffice läuft und nichts anderes.
Bei einer SQL-Abfrage bräuchte ich nunmehr eine IF-Abfrage, um zwei Felder zusammenzuführen. Ähnlich dem "Problem", wenn Vor- und Nachnahme zusammengeführt werden und der Vorname ein Leerfeld ist, sodass ein störendes Leerzeichen entsteht.
Und genau dieses Leerzeichen will ich vermeiden. Testweise, ob meine IF-Abfrage funktioniert, habe ich den Ausdruck abgespeckt zu (ich weiß, dass keine Leerzeichen entfernt werden würde..., ist auch nur testweise):
SELECT CONCAT(IF(LENGTH(feld1), feld1, ''), feld2) As gesamtfeld FROM tbl_test
Wenn ich diese Abfrage ausführen will, erhalte ich folgende Fehlermeldung:
SQL-Status: 37000
Fehler-Code: -11
Unexpected token: IF in statement [SELECT CONCAT(IF(LENGTH(feld1), feld1,''), feld2) As gesamtfeld FROM tbl_test]
Auch dann, wenn ich die Feld- und Tabellenamen in Anführungszeichen schreibe, erhalte ich diese Fehlermeldung.
Ist eine IF-Abfrage nicht möglich. Oder gibt es Umwege, die man gehen kann? Ich bräuchte diese Abfrage für einen Bericht.
In der Forumssuche habe ich nichts gefunden und per google hatte ich ebenfalls keinen Erfolg.
Für Hinweise und Tipps oder gute Dokus u.ä. bin ich dankbar.
Grüße
Andreas
Hi Leute,
ich bin gerade dabei eine DB in Base zusammenzubasteln. Verwendet wird die "OOo-Datenbank", also nicht MySQL, weil die DB auch auf Rechnern verwendet werden muss, auf denen nur Openoffice läuft und nichts anderes.
Bei einer SQL-Abfrage bräuchte ich nunmehr eine IF-Abfrage, um zwei Felder zusammenzuführen. Ähnlich dem "Problem", wenn Vor- und Nachnahme zusammengeführt werden und der Vorname ein Leerfeld ist, sodass ein störendes Leerzeichen entsteht.
Und genau dieses Leerzeichen will ich vermeiden. Testweise, ob meine IF-Abfrage funktioniert, habe ich den Ausdruck abgespeckt zu (ich weiß, dass keine Leerzeichen entfernt werden würde..., ist auch nur testweise):
SELECT CONCAT(IF(LENGTH(feld1), feld1, ''), feld2) As gesamtfeld FROM tbl_test
Wenn ich diese Abfrage ausführen will, erhalte ich folgende Fehlermeldung:
SQL-Status: 37000
Fehler-Code: -11
Unexpected token: IF in statement [SELECT CONCAT(IF(LENGTH(feld1), feld1,''), feld2) As gesamtfeld FROM tbl_test]
Auch dann, wenn ich die Feld- und Tabellenamen in Anführungszeichen schreibe, erhalte ich diese Fehlermeldung.
Ist eine IF-Abfrage nicht möglich. Oder gibt es Umwege, die man gehen kann? Ich bräuchte diese Abfrage für einen Bericht.
In der Forumssuche habe ich nichts gefunden und per google hatte ich ebenfalls keinen Erfolg.
Für Hinweise und Tipps oder gute Dokus u.ä. bin ich dankbar.
Grüße
Andreas