DATUMS FELDER

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: DATUMS FELDER

von gei3r » Do, 26.04.2007 12:59

läuft :)

wie immer VIELEN DANK!

und nun ab nach draußen mit dir... zumindest hier in Hamburg ist so ein geniales wetter!!!

von berndkli » Do, 26.04.2007 12:01

Hallo

Probier das mal

Code: Alles auswählen

SELECT "deine Spalten", IFNULL(DATEDIFF('dd',"2OK","AA"),CASEWHEN(DATEDIFF('dd',"1OK","AA")=0,1,DATEDIFF('dd',"1OK","AA"))) AS "wie du willst" FROM "Tabellenname"
Gruss Bernd

von gei3r » Do, 26.04.2007 09:54

berndkli hat geschrieben:Hi
Du brauchst also entweder die Differenz 2OK AA oder (falls 2OK nicht vorhanden) 1OK AA
Es müsste gehn mit

Code: Alles auswählen

SELECT "deine Spalten", IFNULL(DATEDIFF('dd',"2OK","AA"),DATEDIFF('dd',"1OK","AA")) AS "wie du willst" FROM "Tabellenname"
Gruss Bernd
jetzt hab ich noch eine frage.
wie kann ich in der abfrage festhalten das nun wieder eine 1 anstatt einer 0 bei dem Ergebnis herraus kommt?

ich habe versucht den code schnipsel vom oberen post einzubauen, aber irgendwie bekomme ich immer syntaxfehler :(

vielen dank & gruss gei3r

von gei3r » Do, 19.04.2007 11:14

war ja nicht anders zu erwarten...

ES FUNKTIONIERT!

*tasse_kaffe_rüberschieb*

vielen Dank :)

Gruß gei3r

von berndkli » Do, 19.04.2007 10:37

Hi
Du brauchst also entweder die Differenz 2OK AA oder (falls 2OK nicht vorhanden) 1OK AA
Es müsste gehn mit

Code: Alles auswählen

SELECT "deine Spalten", IFNULL(DATEDIFF('dd',"2OK","AA"),DATEDIFF('dd',"1OK","AA")) AS "wie du willst" FROM "Tabellenname"
Gruss Bernd

von gei3r » Do, 19.04.2007 09:25

Guten Morgen,
und mal wieder die Datumsfelder...
Jetzt habe ich folgendes Problem:

6 Tabellen Einträge:

1. ID
2. 1Stich
3. 1OK
4. 2Stich
5. 2OK
6. AA (Auftrag abgeschlossen)

Ich möchte die Zeit ermitteln vom OK der Stichproben bis zum Auftragsabschluß. Hierbei zählt immer nur das Ergebnis der letzten Stichprobe.

Problem ist es werden nicht immer 2 Stichproben durchgeführt, ich weiß nicht wie ich die Abfrage stellen soll :(

Bitte um Hilfe :)

von gei3r » Mi, 18.04.2007 17:54

ja ich weiß... wollte nur nicht das ganze forum mit meinen anfänger fragen nerven...

ich hatte die werte als decimal und dann im menü auf währung gestellt.
die ausgabe ist nun auch auf währung gestellt, leider wird mein ergebnis noch gerundet :(

eine ander idee?

ps. berndkli du bist der beste :)

vielen dank & gruß

gei3r

*edit*

hat sich erledigt, hab es nun als numeric mit 2 nachkomma stellen!

trotzdem vielen dank & super forum :)

von berndkli » Mi, 18.04.2007 17:44

Hallo gei3r

Bei neuen Themen ist es eigentlich besser einen neuen Thread aufzumachen.

Wenn du mit Kommazahlen rechnen willst brauchst du in der Tabelle als Spaltendefinition "Decimal" oder "Numeric"; du hast wahrscheinlich Integer, da gehen nur Ganzzahlen.
Evtl. kannst du auch mal in den Tabellenkopf der Abfrage rechtsklicken und schauen wie die entsprechenden Spalten formatiert sind.

Gruss Bernd

von gei3r » Mi, 18.04.2007 17:22

und wieder mal ich....

nun habe ich es mit Währungsfeldern zu tun ;)

die Abfragen funktionieren soweit nur kommt als Ergebnis ein gerundeter Wert. Wie muss ich eine Abfrage stellen in der als Ergebnis auch z.b:

"EK_Preis" - "Rabatt" = Wert in Euro bekomme?

von berndkli » Mi, 18.04.2007 17:01

War ich irgendwie zu schusselig - hab's jetzt aber korrigiert damit erst keine Werwirrtümer aufkommen.

Gruss Bernd

von gei3r » Mi, 18.04.2007 16:35

Column not found: Zeit1 in statement [SELECT "1Stich", "WE", CASEWHEN( Datediff( 'dd', "1Stich", "WE" ) = 0, 1, Datediff( 'dd', "Zeit1", "Zeit2" ) ) AS "Differenz" FROM "Tabelle1"]

sorry mein fehler ;=)

SELECT "1Stich", "WE", CASEWHEN( Datediff( 'dd', "1Stich", "WE" ) = 0, 1, Datediff( 'dd', "1Stich", "WE" ) ) AS "Differenz" FROM "Tabelle1"

so funktioniert es!

und wieder einmal... vielen vielen DANK!

von berndkli » Mi, 18.04.2007 16:15

Nachtrag

Die Datediff Spalte wird durch den langen Ausdruck recht breit.
Mit einem "AS" kann man das ändern

Code: Alles auswählen

SELECT "WE, "1Stich", CASEWHEN( Datediff( 'dd', "WE", "1Stich" ) = 0, 1, Datediff( 'dd', "WE", "1Stich" ) ) AS "Differenz" FROM "Tabellenname"
Gruss Bernd

von berndkli » Mi, 18.04.2007 16:08

Hallo

Schalte zur allgemeinen Übersicht die Designansicht aus und kopiere das hinein

Code: Alles auswählen

SELECT "WE, "1Stich", CASEWHEN( Datediff( 'dd', "WE", "1Stich" ) = 0, 1, Datediff( 'dd', "WE", "1Stich" ) ) FROM "Tabellenname"
Gruss Bernd

von gei3r » Mi, 18.04.2007 15:37

SUPER VIELEN DANK!

genau das habe ich gesucht, funktioniert!

nun hab ich aber noch eine frage...

wenn ich als ergebnis eine 0 bekomme möchte ich das es automatisch zu einer 1 wird :)

von berndkli » Mi, 18.04.2007 15:25

Hallo

Um Zeitdifferenzen in Base auszurechnen braucht man die Funktion DATEDIFF()
Schreibe in der Abfrage in eine neue Spalte in die Zeile "Feld"

Code: Alles auswählen

DATEDIFF('dd',"WE","1Stich")
Mehr zu eingebauten Funktionen unter

http://hsqldb.org/web/hsqlDocsFrame.html

in Kapitel 9 unter "Built-in Functions and Stored Procedures"

Hoffentlich war das schnell genug....

Gruss Bernd

Nach oben