Forum: SQL |
Thema:
UPDATE -Anweisung in SQL |
Von:
Herbert Hager (
06.04.2006 14:46) |
Folgendes Problem:
Innerhalb eines Zeitraumes wird ein Fahrzeug gesucht. Ist dieses gefunden, soll es mit einem neuen Kennzeichen versehen werden. Der u.a. Code funktioniert, aber nicht richtig. Es soll nur das Fahrzeug überschrieben werden das die Datumsbedingung erfüllt. Der Code überschreibt leider auch die Kennzeichen die nicht im Zeitraum liegen.
Beispiel:
Fahrzeug X-1026 (zu überschreibendes Kennzeichen)
Abfahrt am 06.04.2006 und
Rückkehr ebenfalls der 06.04.2006
Das neue Kennzeichen soll lauten X-1004.
UPDATE dbo.vw_buchungen
SET kfzkz = 'X-1004'
WHERE (kfzkz IN
(SELECT kfzkz
FROM dbo.tblBuchungen
WHERE(dAbfahrt BETWEEN CONVERT(datetime, '06.04.2006') AND CONVERT(datetime, ' 06.04.2006 ')AND (kfzkz = 'X-1026'))
OR
(dRueckkehr BETWEEN CONVERT(datetime, '06.04.2006') AND CONVERT(datetime, ' 06.04.2006') AND (kfzkz = 'X-1026'))))
Betreff |
Von |
Datum |
|
|
Re: UPDATE -Anweisung in SQL
also ich würde mir dei eindeutige ID des Fahrzeugs merken und diese dann in die Where Bedingung des Update Kommandos als Parameter setzen<br> |
|
|
|
|
|
Hannes
Preishuber
|
06.04.2006 15:30 |
|
|
Re: UPDATE -Anweisung in SQL
Hallo Hannes,<br><br>das mit der ID würde gehen wenn nur ein Datensatz mit dem Kennzeichen vorliegt. Es können aber auch mehrere Fahrten mit gleichen Kennzeichen gespeichert sein.<br><br>Ergo, mehrere ID´s.... |
|
|
|
|
|
G.
Guest
|
06.04.2006 15:46 |
|
|
Armin
Stockner
|
06.04.2006 15:55 |
|
|
Re: UPDATE -Anweisung in SQL
Hallo Herbert,<br><br>schau dir mal an was bei <br><br>SELECT kfzkz<br>FROM dbo.tblBuchungen<br>WHERE(dAbfahrt BETWEEN CONVERT(datetime, '06.04.2006') AND CONVERT(datetime, ' 06.04.2006 ')AND (kfzkz = 'X-1026'))... |
|
|
|
|
|
G.
Guest
|
06.04.2006 16:18 |
|
|
Re: UPDATE -Anweisung in SQL
Das Problem liegt denke ich daran, dass der Zeitraum falsch gesetzt ist es müsste wenn dann heißen von 05.04.2006 bis 06.04.2006 aber so existiert der Wert nicht |
|
|
|
|
|
Armin
Stockner
|
06.04.2006 17:09 |
|
|
Re: UPDATE -Anweisung in SQL
Hallo Armin,<br><br>der Zeitraum ist nicht falsch gesetzt, weil dieser Teil (ab der WHERE Bedingung) der SQL-Anweisung auch für eine SELECT-Abfrage verwendet wird und da die richtigen Werte... |
|
|
|
|
|
Herbert
Hager
|
06.04.2006 17:44 |
|
|
Herbert
Hager
|
06.04.2006 17:47 |
|
|
Re: UPDATE -Anweisung in SQL
Hallo Tom,<br><br>wenn ich diese SELECT-Abfrage:<br>SELECT kfzkz<br>FROM dbo.tblBuchungen<br>WHERE (dAbfahrt BETWEEN CONVERT(datetime, '06.04.2006') AND CONVERT(datetime, ' 07.04.2006 ')) AND (kfzkz = 'X-1026')... |
|
|
|
|
|
Herbert
Hager
|
07.04.2006 07:42 |
|
|
Re: UPDATE -Anweisung in SQL
Hallo Herbert,<br><br>du hast folgende SQL-Anweisung:<br><br>UPDATE dbo.vw_buchungen<br>SET kfzkz = 'X-1004'<br>WHERE (kfzkz IN<br>(SELECT kfzkz<br>FROM dbo.tblBuchungen<br>WHERE(dAbfahrt BETWEEN CONVERT(datetime,... |
|
|
|
|
|
Thomas
Golla
|
07.04.2006 08:22 |
|
|
Re: UPDATE -Anweisung in SQL
Hallo Tom,<br><br>?????<br>Nicht ganz, muss ich ehrlicher Weise zugeben.<br>Du meinest, dass meine Abfrage nur das bestimmte kfzkz findet und dabei das Datum ignoriert??<br><br>gruss<br>herbert |
|
|
|
|
|
G.
Guest
|
07.04.2006 08:55 |
|
|
Re: UPDATE -Anweisung in SQL
Hallo Herbert,<br><br>schau dir nochmal dein SQ-String an:<br><br>UPDATE dbo.vw_buchungen<br>SET kfzkz = 'X-1004'<br>WHERE (kfzkz IN<br>(SELECT kfzkz<br>FROM dbo.tblBuchungen<br>WHERE(dAbfahrt BETWEEN CONVERT(datetime,... |
|
|
|
|
|
Thomas
Golla
|
07.04.2006 09:05 |
|
|
Re: UPDATE -Anweisung in SQL
Hallo Tom,<br><br>meinst du es so:<br><br>UPDATE dbo.vw_buchungen<br>SET kfzkz = 'X-1004'<br>WHERE <br>(dAbfahrt BETWEEN CONVERT(datetime, '06.04.2006') AND CONVERT(datetime, ' 06.04.2006 ')AND (kfzkz = 'X-1026'))... |
|
|
|
|
|
G.
Guest
|
07.04.2006 12:27 |
|
|
Re: UPDATE -Anweisung in SQL
hm,<br>ich denke, was der Tom meinte war eher dies:<br><br>UPDATE dbo.vw_buchungen<br>SET kfzkz = 'X-1099'<br>WHERE kfzkz IN (<br><br>SELECT kfzkz<br>FROM dbo.tblBuchungen<br>WHERE (dAbfahrt BETWEEN CONVERT(datetime,... |
|
|
|
|
|
Jens
Buthe
|
07.04.2006 08:22 |
|
|
Re: UPDATE -Anweisung in SQL
Hallo j,<br><br>danke für den Hinweis. Hatte es mir fast so gedacht, aber so ist das halt mit dem Denken. :-)<br><br>Nun bekomme ich auch ein Ergebnis.<br><br>Danke!!!<br> |
|
|
|
|
|
G.
Guest
|
07.04.2006 08:38 |
|
|
Re: UPDATE -Anweisung in SQL
Hallo Armin,<br>es hat jede Fahrt eine eigene "GUID" aber immer das gleiche Kennzeichen.<br><br>Nochmal mein Problem.<br>Aus einem bestimmten Zeitraum suche ich mir mittels einer SELECT-Abfrage die vergebenen... |
|
|
|
|
|
Herbert
Hager
|
06.04.2006 17:57 |
|
|
Antworten
Vorsicht bei der Eingabe: Die Zeichen ' oder -- sind nicht erlaubt!