Announcement

Collapse
No announcement yet.

Summe von & Case

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

  • Summe von & Case

    Hallo

    ich habe ein Problem von 6 einzelnen Ergebnisse die Summe zu Bilden, da ich immer wieder über das Case-Statement stolpere

    Code:
    dbo.DINVSALES.qty_stock * dbo.BARTICLES.vol_net * dbo.z_bsls_zuschlag.Bulkkg AS LOHNBULK, 
    dbo.z_bsls_zuschlag.AbfüllungSTK * dbo.DINVSALES.qty_stock AS Lohnabfuellung, 
    dbo.z_bsls_zuschlag.Lohnkg * dbo.DINVSALES.qty_stock * dbo.BARTICLES.vol_net AS LohnSonstige, 
    dbo.z_bsls_zuschlag.BKkg * dbo.DINVSALES.qty_stock * dbo.BARTICLES.vol_net AS BkSonstige, 
    CASE WHEN art_group = 'fpha' THEN (dbo.z_bsls_zuschlag.Lohnkgpharma * dbo.DINVSALES.qty_stock * dbo.BARTICLES.vol_net) END AS lohn_am, 
    CASE WHEN art_group = 'fpha' THEN (dbo.z_bsls_zuschlag.bkkgpharma * dbo.DINVSALES.qty_stock * dbo.BARTICLES.vol_net) END AS BK_am,
    Jedes einzelne Select funktioniert, aber will ich noch die "Case-Ergebnisse" summieren stolpere ich immer über fehlerhafte Case-Statement.

    Also ich möcht Lohnbulk + Lohnabfüllung + LohnSonstige + lohn_am + BK_AM addiert haben.

    Viele Grüße

    Conny

  • #2
    Originally posted by cklemm View Post
    Jedes einzelne Select funktioniert, aber will ich noch die "Case-Ergebnisse" summieren stolpere ich immer über fehlerhafte Case-Statement.

    Also ich möcht Lohnbulk + Lohnabfüllung + LohnSonstige + lohn_am + BK_AM addiert haben.
    Anhand Deiner Angaben kann ich nicht erkennen, was Du mit 'jedes einzelne Select funktioniert' überhaupt meinst. Das angegebene Statement mit Case sieht irgendwie unvollständig aus und enthält in den beiden angegebenen Fällen eine identische Bedingung.

    Wenn man es ordentlich formatiert, kann man das auch relativ leicht erkennen. Eine Möglichkeit wäre diese:

    [highlight=sql]
    select LOHNBULK + LohnSonstige + BkSonstige + lohn_am + BK_am as mySum
    from (select dbo.DINVSALES.qty_stock * dbo.BARTICLES.vol_net *
    dbo.z_bsls_zuschlag.Bulkkg AS LOHNBULK,
    dbo.z_bsls_zuschlag.AbfüllungSTK * dbo.DINVSALES.qty_stock AS Lohnabfuellung,
    dbo.z_bsls_zuschlag.Lohnkg * dbo.DINVSALES.qty_stock *
    dbo.BARTICLES.vol_net AS LohnSonstige,
    dbo.z_bsls_zuschlag.BKkg * dbo.DINVSALES.qty_stock *
    dbo.BARTICLES.vol_net AS BkSonstige,
    CASE
    WHEN art_group = 'fpha' THEN
    (dbo.z_bsls_zuschlag.Lohnkgpharma * dbo.DINVSALES.qty_stock *
    dbo.BARTICLES.vol_net)
    END AS lohn_am,
    CASE
    WHEN art_group = 'Hier oder im ersten Case muss eine andere Bedingung her' THEN
    (dbo.z_bsls_zuschlag.bkkgpharma * dbo.DINVSALES.qty_stock *
    dbo.BARTICLES.vol_net)
    END AS BK_am,
    ..
    from myBaseTable) as CalcAlias

    [/highlight]
    Gruß, defo

    Comment

    Working...
    X