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

2008-08-27 Thread 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 Thread 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