Einzelnen Beitrag anzeigen

Delphianer

Registriert seit: 19. Feb 2003
Ort: Rossau
149 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#9

AW: Syntax-Fehler mit Select und Case

  Alt 11. Mär 2011, 08:10
Ich kenne zwar Access-SQL nicht, aber ich denke, der 'Artikelstatus' vor case ist zuviel. Du willst W.products_shippingtime setzen, Dein Subselect liefert aber zwei Felder zurück. Außerdem sollten die Strings doppelt gequotet sein, wie meine Vorredner schon geschrieben haben. Weiterhin hast Du Dein Subselect nicht auf einen Record beschränkt (falls Komsa nicht nur einen Record enthält), es fehlt also auch noch eine Where-Klausel.

Vermutlich ist es so oder so ähnlich richtig:

ADOQuery1.SQL.Add('UPDATE Warenbestand As W SET W.products_shippingtime = (SELECT CASE ARTIKELSTATUS WHEN ''Sonderbestellung'' THEN 8 WHEN ''Normal'' THEN 7 WHEN ''Auslaufartikel'' THEN 32 END FROM KOMSA as K where W.external_id = K.KOMSANUMMER)'); Viele Grüße
  Mit Zitat antworten Zitat