[de-users] Probleme mit SQL-Statements

2008-08-27 Diskussionsfäden Holger Deiters

Hallo liebe User,
ich habe in base (OpenOffice 2.4)
Probleme mit 2 SQL Befehlen
 
a) SELECT Projekt.Bezeichnung, Projekt.Auftragswert, Projekt.bezahlt, 
Auftragswert-IIf(IsNull(bezahlt),0,bezahlt) AS AussenstandFROM Projekt;hier 
akzeptiert base die IIF Anweisung nicht.
 
b)SELECT Bezeichnung, Beginn, Ende, Ende-Beginn AS DauerFROM ProjektWHERE Ende 
IS NOT NULL;bei dieser Anweisung gibt mir die Datenbank eine Fehlermeldung aus, 
das die Datentypen nicht in Ordnung wären. Habe beide Attribute als Datumswerte 
mit dem gleichen Format definiert.
 
Vielen Dank für Eure HilfeHolger DeitersAm Alten Freyhof 16D-30900 
WedemarkTel.: 0049-(0)5130-375511Fax 0049-(0)5130-375591
_
Trete mit Deinem inneren Athleten in Verbindung. Beantworte die Fragen!
http://messenger.live.de/mein/mein-messenger-animoticons.aspx

Re: [de-users] Probleme mit SQL-Statements

2008-08-27 Diskussionsfäden Robert Großkopf
Hallo Holger,

 Hallo liebe User,
 ich habe in base (OpenOffice 2.4)
 Probleme mit 2 SQL Befehlen

Du arbeitest mit der eingebauten HSQL-Datenbank?

 a) SELECT Projekt.Bezeichnung, Projekt.Auftragswert, Projekt.bezahlt,
 Auftragswert-IIf(IsNull(bezahlt),0,bezahlt) AS AussenstandFROM Projekt;hier
 akzeptiert base die IIF Anweisung nicht.

Was soll diese Anweisung machen? Meinst Du die einfache IF()-Funktion z.B. 
von MySQL? Die gibt es bei HSQLDB nicht, wenn ich die Anleitung richtig 
durchblättert habe:
http://hsqldb.org/web/hsqlDocsFrame.html (hier SQL Syntax wählen; ich finde 
ganz am Ende der Syntax nur IFNULL() oder die Möglichkeit, es mit CASE 
WHEN ... zu probieren.

 b)SELECT Bezeichnung, Beginn, Ende, Ende-Beginn AS DauerFROM ProjektWHERE
 Ende IS NOT NULL;bei dieser Anweisung gibt mir die Datenbank eine
 Fehlermeldung aus, das die Datentypen nicht in Ordnung wären. Habe beide
 Attribute als Datumswerte mit dem gleichen Format definiert.

Bei Datumswerten kannst Du vermutlich nicht einfach mit der Subtraktion 
arbeiten: DATEDIFF wird Dir da eventuell dienlich sein.

DATEDIFF(string, datetime1, datetime2)

returns the count of units of time elapsed from datetime1 to datetime2. 
The string indicates the unit of time and can have the following 
values 'ms'='millisecond', 'ss'='second','mi'='minute','hh'='hour', 'dd'='day', 
'mm'='month', 'yy' 
= 'year'. Both the long and short form of the strings can be used.

Gruß

Robert

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



RE: [de-users] Probleme mit SQL-Statements

2008-08-27 Diskussionsfäden Holger Deiters

Hallo Robert,
 
vielen Dank für Deine Antwort.
bei der ersten Abfrage dreht es sich um den Umgang mit sogenannten Nullwerten.
Im Attribut bezahlt, dessen Werte vom Attribut Auftragswert abgezogen werden 
sollen,
gibt es leere Datenfelder. Diese sollen durch die IF-Anweisung erkannt werden, 
wenn sie leer sind
soll eine 0 eingesetzt werden, ansonsten soll der Wert aus dem Attribut bezahlt 
vom Auftragswert abgezogen werden.Ich werde mal CASE probieren.
 
Beim zweiten Fall werde ich es mal mit DATEDIFF versuchen.
 
Gruß Holger From: [EMAIL PROTECTED] To: users@de.openoffice.org Date: Wed, 
27 Aug 2008 21:00:29 +0200 Subject: Re: [de-users] Probleme mit 
SQL-Statements  Hallo Holger,   Hallo liebe User,  ich habe in base 
(OpenOffice 2.4)  Probleme mit 2 SQL Befehlen  Du arbeitest mit der 
eingebauten HSQL-Datenbank?   a) SELECT Projekt.Bezeichnung, 
Projekt.Auftragswert, Projekt.bezahlt,  
Auftragswert-IIf(IsNull(bezahlt),0,bezahlt) AS AussenstandFROM Projekt;hier  
akzeptiert base die IIF Anweisung nicht.  Was soll diese Anweisung machen? 
Meinst Du die einfache IF()-Funktion z.B.  von MySQL? Die gibt es bei HSQLDB 
nicht, wenn ich die Anleitung richtig  durchblättert habe: 
http://hsqldb.org/web/hsqlDocsFrame.html (hier SQL Syntax wählen; ich finde  
ganz am Ende der Syntax nur IFNULL() oder die Möglichkeit, es mit CASE  WHEN 
... zu probieren.   b)SELECT Bezeichnung, Beginn, Ende, Ende-Beginn AS 
DauerFROM ProjektWHERE  Ende IS NOT NULL;bei dieser Anweisung gibt mir die 
Datenbank eine  Fehlermeldung aus, das die Datentypen nicht in Ordnung wären. 
Habe beide  Attribute als Datumswerte mit dem gleichen Format definiert.  
Bei Datumswerten kannst Du vermutlich nicht einfach mit der Subtraktion  
arbeiten: DATEDIFF wird Dir da eventuell dienlich sein.  DATEDIFF(string, 
datetime1, datetime2)  returns the count of units of time elapsed from 
datetime1 to datetime2.  The string indicates the unit of time and can have 
the following  values 'ms'='millisecond', 
'ss'='second','mi'='minute','hh'='hour', 'dd'='day', 'mm'='month', 'yy'  = 
'year'. Both the long and short form of the strings can be used.  Gruß  
Robert  
- To 
unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL 
PROTECTED] 
_
MSN Video: Videoclips im Messenger? Ausprobieren und gemeinsam Spaß haben!
http://messenger.live.de/funktionen/spiele_msnvideo.html