Announcement

Collapse
No announcement yet.

sql query

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • sql query

    Hallo sql Freunde,

    aus einem Lieferschein soll für eine Versandsoftware ein csv file generiert werden. Das habe ich bis auf ein Problem gelöst: In eine Variable sollen nach Abhängigkeit verschieden Werte eingefügt werden:

    Im Falle der Nachnahme:
    IF (L.ZAHLART=3 and L.BSUMME<500, concat("134=",REPLACE ((L.BSUMME),".",",")),"") AS SERVICE_NN

    Im Fall Höherversicherung bis 2500
    IF (L.BSUMME >500 and L.BSUMME<2500, "119", "") AS SERVICE_NN

    Im Fall Höherversicherung über 2500
    IF (L.BSUMME >2500, "120", "") AS SERVICE_NN

    IM Fall Nachnahme + Höherversicherung müsste die Ausgabe entweder 119 oder 120 dann ein ; und dann 134+Betrag geschrieben werden. Wenn ich die IF Abfrage hintereinander schreibe klatt es nicht, da "" ausgeben wird.

    Bin für jede Hilfe dankbar.

    Rainer

  • #2
    Hallo,

    das folgende Beispioel für eine CASE-Abfrage stammt aus der Hilfedatei vom MS SQL Server 2005:

    [highlight=SQL]
    USE AdventureWorks;
    GO
    SELECT ProductNumber, Name, 'Price Range' =
    CASE
    WHEN ListPrice = 0 THEN 'Mfg item - not for resale'
    WHEN ListPrice < 50 THEN 'Under $50'
    WHEN ListPrice >= 50 and ListPrice < 250 THEN 'Under $250'
    WHEN ListPrice >= 250 and ListPrice < 1000 THEN 'Under $1000'
    ELSE 'Over $1000'
    END
    FROM Production.Product
    ORDER BY ProductNumber ;
    GO
    [/highlight]

    Comment


    • #3
      Danke für den Hinweis, leider gibt es eine Fehlermeldung bei der Case Abfrage. Im SQL Log finde ich aber nichts.
      Hier ein code, der eigentlich doch funktionieren müsste, aber auch eine Fehlermeldung produziert:

      IF (L.ZAHLART=3 OR L.BSUMME>500, IF (L.BSUMME>500 AND L.BSUMME<=2500, "119", IF (L.BSUMME> 2500, "120")),"") AS SERVICE_NN

      Fehlt da noch irgendwas?

      Danke

      Comment

      Working...
      X