starkeeper2009 10 Geschrieben 20. März 2009 Melden Teilen Geschrieben 20. März 2009 Hallo, ich nutze für unsere Wawi eine Schnittstelle zum export von Daten in eine CSV-Datei die sich mit einfachen Befehlen konfigurieren lässt - diese habe ich bereuits erfolgreich zum laufen bekommen, so daß die CSV Datei passend exportiert wird. KHKArtikel.Artikelnummer KHKArtikel.Bezeichnung1 AS Name KHKPreislistenartikel.Einzelpreis AS VK KHKArtikelVarianten.EANNummer as EAN KHKArtikelVarianten.MittlererEK as MEK KHKArtikel.USER_AmazonLister as FPH KHKArtikel.USER_AmazonPreis as AmazonVK WHERE NOT KHKArtikel.USER_AmazonLister = 0 AND ltrim(rtrim(KHKArtikelVarianten.EANNummer)) !='' Jetzt möchte ich allerdings eine Funktion einbauen die mir erlaubt ein Feld in unserer Datenbank zu interpretieren und dadurch direkt einen wert in eine neue Spalte zu schreiben ohne dafür extra eine neue spalte in der datenbank anlegen zu müssen. IF KHKArtikel.bestand >0 $zeit='1' ELSE IF $zeit='2' $zeit AS Lieferzeit Natürlich weiß ich das dieses so nie funktioniert - aber gibt es da die Möglichkeit so etwas in SQL umzusetzen ohne den Umweg zu gehen und eine neue Spalte anlegen zu müssen? Es geht mir hier ja nur um den CSV Export. Beschäftige mich erst seit 4 Tagen mit SQL daher hoffe ich meine Frage ist nicht ganz zu **** ;) Aber bin ja hier um zu lernen! Viele Grüße Marco Zitieren Link zu diesem Kommentar
Cybquest 36 Geschrieben 20. März 2009 Melden Teilen Geschrieben 20. März 2009 Ungefähr so: SELECT IIf(KHKArtikel.bestand > 0, 1, 2) AS Lieferzeit Zitieren Link zu diesem Kommentar
starkeeper2009 10 Geschrieben 20. März 2009 Autor Melden Teilen Geschrieben 20. März 2009 Hallo Frank, danke für die schnelle Antwort - leider bekomme ich bei den bisherigen Versuchen immer Syntax-Fehler. Ich denke es liegt einfach daran, daß mir noch sehr viele Grundlagen fehlen. Select brauche ich ja nicht, weil dieses wohl durch die Schnittstelle übernommen wird. Ich habe das versucht - allerdings ist da noch ein fehler drin in der IF-Anweisung: <code> KHKArtikel.Artikelnummer KHKArtikel.Bezeichnung1 AS Name KHKPreislistenartikel.Einzelpreis AS VK KHKArtikelVarianten.EANNummer as EAN KHKArtikelVarianten.MittlererEK as MEK KHKArtikel.USER_AmazonLister as FPH KHKArtikel.USER_AmazonPreis as AmazonVK KHKArtikelVarianten.LagerBestand AS Lagerbestand IIf(KHKArtikelVarianten.LagerBestand > 0,2) AS Lieferzeit WHERE NOT KHKArtikel.USER_AmazonLister = 0 AND ltrim(rtrim(KHKArtikelVarianten.EANNummer)) !='' </code> Zitieren Link zu diesem Kommentar
Zearom 10 Geschrieben 20. März 2009 Melden Teilen Geschrieben 20. März 2009 Es gibt in T-SQL kein IIF. Das mags eventuell in MS Access geben, aber in T-SQL gibt es das Konstrukt nicht. Da nutzt man CASE: SELECT CASE WHEN KHKArtikelVarianten.LagerBestand > 0 THEN 2 ELSE 1 END Lieferzeit FROM Tabelle Zitieren Link zu diesem Kommentar
d.stegemann 10 Geschrieben 20. März 2009 Melden Teilen Geschrieben 20. März 2009 Hugh ! kleiner Nachtrag noch zum Statement.... Habe das im anderen Thread http://www.mcseboard.de/windows-forum-ms-backoffice-31/einfache-sql-abfrage-149181.html vergessen... Wenn du einen SQL 2005 abfragst, kannst du Anstelle von ltrim(rtrim()) auch einfach trim() benutzen. Gruß Dirk Zitieren Link zu diesem Kommentar
starkeeper2009 10 Geschrieben 20. März 2009 Autor Melden Teilen Geschrieben 20. März 2009 Vielen Dank an Euch - die Tipps haben geholfen, habe es so hinbekommen: (SELECT CASE WHEN KHKArtikelVarianten.LagerBestand > 0 THEN 2 ELSE 1 END) AS Bestand Viele Grüße und ein schönes Wochenende! Marco Zitieren Link zu diesem Kommentar
Cybquest 36 Geschrieben 20. März 2009 Melden Teilen Geschrieben 20. März 2009 Es gibt in T-SQL kein IIF. Das mags eventuell in MS Access geben, aber in T-SQL gibt es das Konstrukt nicht. Stimmt... sorry ;) Zitieren Link zu diesem Kommentar
Empfohlene Beiträge
Schreibe einen Kommentar
Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.