Crosstab !?!

  • Hallo everbody,

    i had an table with 4 Rows and information against logins.

    it looks like

    Personalid,Name,loginid,site

    50 ,Tom ,1234 ,OE

    50 ,Tom ,5678 ,CS

    50 ,Tom ,9123 ,HO

    It is no other way to fill it from the source folder.

    I need a statement so that lokks like this

    Personalid,Name,loginidOE,loginidCS,loginidHO

    50 ,Tom ,1234 ,5678 ,9123

    I hope for Help

    Thanks

    Thomas

  • Hello again Thomas!

    Here is your solution.

    declare @test-2 table (personalid tinyint, name varchar(3), loginid smallint, site varchar(2))

    insert @test-2

    select 50 ,'Tom', 1234, 'OE' union all

    select 50 ,'Tom', 5678, 'CS' union all

    select 50 ,'Tom', 9123, 'HO'

    select * from @test-2

    select    personalid,

              name,

              max(case when site = 'oe' then loginid end) 'login_oe',

              max(case when site = 'cs' then loginid end) 'login_cs',

              max(case when site = 'ho' then loginid end) 'login_ho'

    from      @test

    group by  personalid,

              name

     


    N 56°04'39.16"
    E 12°55'05.25"

  • Hallo Peter,

    thanks for Help its Great. I hope you have an nice Weekend. In next Weeks i have some Projekts where i think in kow it need your help please but its a super help for my colleges if it runs at last.

    Greatings Thomas and thanks again

  • Das ist ok. Ich werde Ihnen helfen, so viel wie ich kann. Nächste Woche ist mein letzter gewöhnlicher Job Woche vor dem Urlaub. Dann habe ich Urlaub seit 5 Wochen und kann Ihnen mit Fragen helfen, wenn Sie irgendwelchen haben.

    Sie können sich bei uns bedanken, indem Sie mich gutes rote Weinen dazu senden

    Peter Larsson

    Annerovägen 11c

    SE-254 62 HELSINGBORG


    N 56°04'39.16"
    E 12°55'05.25"

Viewing 4 posts - 1 through 3 (of 3 total)

You must be logged in to reply to this topic. Login to reply