sql case when in linq funktioniert nicht

  • VB.NET
  • .NET (FX) 4.0

Es gibt 1 Antwort in diesem Thema. Der letzte Beitrag () ist von vb_fan.

    sql case when in linq funktioniert nicht

    Hallo,

    ich habe dieses Query hier:

    VB.NET-Quellcode

    1. Dim lnqSollpreise = From row In dtKvks
    2. Let SUCHBEGRIFF = row.Field(Of String)("SUCHBEGRIFF")
    3. Let WERT = row.Field(Of Double)("WERT")
    4. Let EH = row.Field(Of String)("EH")
    5. Group By SUCHBEGRIFF, EH Into MaxWert = Max(WERT)
    6. Select SUCHBEGRIFF, Preis = If(EH = "07", MaxWert / 100, If(EH = "08", MaxWert / 1000, MaxWert)), EH


    Mein Problem damit ist, dass "Preis" nicht dem EH-Feld entsprechend dividiert wird. Wenn ich im Debug Fenster "Preis" ausgebe, dann bekomme ich die ursprünglichen Werte und nicht die Werte durch 100 o. eben durch 1000.

    Das Feld EH hat richtige Werte, also "02", "07" o. "08".

    Warum geht das dann nicht?

    Danke.