Welcome to Sign in | Help
in Search

de pe coloane pe randuri - sql server 2000

Last post 11-01-2007, 7:18 PM by Diana. 3 replies.
Sort Posts: Previous Next
  •  11-01-2007, 2:36 PM 3160

    de pe coloane pe randuri - sql server 2000

    salut, am si eu o problema urgenta (ca toti de altfel :) )

    am urmatorul SELECT:

    declare @id_utilizator uniqueidentifier

    set  @id_utilizator = 'DA33228F-F85E-4753-BB8D-49975F36C8FB' 

    select u.nume,
     r1.denumire as rolADT,
     r2.denumire as rolAGR,
     r3.denumire as rolCIV,
     r4.denumire as rolCOM,
     r5.denumire as rolINI,
     r6.denumire as rolJUR,
     r7.denumire as rolLOC,
     r8.denumire as rolPET,
     r9.denumire as rolREG,
     r10.denumire as rolSAL,
     r11.denumire as rolSOC,
     r12.denumire as rolTAX,
     r13.denumire as rolURB

    from utilizatori U
    inner join roluri_ADT r1 on u.id_rolADT = r1.id
    inner join roluri_AGR r2 on u.id_rolAGR = r2.id
    inner join roluri_CIV r3 on u.id_rolCIV = r3.id
    inner join roluri_COM r4 on u.id_rolCOM = r4.id
    inner join roluri_INI r5 on u.id_rolINI = r5.id
    inner join roluri_JUR r6 on u.id_rolJUR = r6.id
    inner join roluri_LOC r7 on u.id_rolLOC = r7.id
    inner join roluri_PET r8 on u.id_rolPET = r8.id
    inner join roluri_REG r9 on u.id_rolREG = r9.id
    inner join roluri_SAL r10 on u.id_rolSAL = r10.id
    inner join roluri_SOC r11 on u.id_rolSOC = r11.id
    inner join roluri_TAX r12 on u.id_rolTAX = r12.id
    inner join roluri_URB r13 on u.id_rolURB = r13.id

    where 
    (
        id_rolADT<>0
     or id_rolAGR<>0
     or id_rolCIV<>0
     or id_rolCOM<>0
     or id_rolINI<>0
     or id_rolJUR<>0
     or id_rolLOC<>0
     or id_rolPET<>0
     or id_rolREG<>0
     or id_rolSAL<>0
     or id_rolSOC<>0
     or id_rolTAX<>0
     or id_rolURB<>0

     and u.id = @id_utilizator 

     cum pot face ca ce intoarce el acum pe coloane sa fie defapt intors pe inregistrari iar coloana sa fie defapt nume

    Multumesc mult

  •  11-01-2007, 4:47 PM 3170 in reply to 3160

    Re: de pe coloane pe randuri - sql server 2000

    Sa inteleg ca ai nevoie de o prezentare a datelor in genul unui "pivot table"?

    * cred ca, de exemplu, id_rolADT > 0 este OK... 

  •  11-01-2007, 5:24 PM 3171 in reply to 3160

    Re: de pe coloane pe randuri - sql server 2000

    Mi se pare că seamănă mai mult cu ceea ce face UNPIVOT, dar fiind vorba de SQL 2000, poţi folosi ceva de genul:

     

    SELECT u.nume, r.rol, r.denumire
    FROM utilizatori u INNER JOIN (
    SELECT 'ADT' AS rol, id, denumire FROM roluri_ADT
    UNION ALL SELECT 'ADT' AS rol, id, denumire FROM roluri_ADT
    UNION ALL SELECT 'AGR' AS rol, id, denumire FROM roluri_AGR
    UNION ALL SELECT 'CIV' AS rol, id, denumire FROM roluri_CIV
    UNION ALL SELECT 'COM' AS rol, id, denumire FROM roluri_COM
    UNION ALL SELECT 'INI' AS rol, id, denumire FROM roluri_INI
    UNION ALL SELECT 'JUR' AS rol, id, denumire FROM roluri_JUR
    UNION ALL SELECT 'LOC' AS rol, id, denumire FROM roluri_LOC
    UNION ALL SELECT 'PET' AS rol, id, denumire FROM roluri_PET
    UNION ALL SELECT 'REG' AS rol, id, denumire FROM roluri_REG
    UNION ALL SELECT 'SAL' AS rol, id, denumire FROM roluri_SAL
    UNION ALL SELECT 'SOC' AS rol, id, denumire FROM roluri_SOC
    UNION ALL SELECT 'TAX' AS rol, id, denumire FROM roluri_TAX
    UNION ALL SELECT 'URB' AS rol, id, denumire FROM roluri_URB
    ) r ON u.id=r.id WHERE u.id = @id_utilizator


     

    Răzvan 

  •  11-01-2007, 7:18 PM 3175 in reply to 3171

    Re: de pe coloane pe randuri - sql server 2000

    Alternativ, poti incerca sa folosesti Excel. Din Data ---> Import data alege "new source" si conecteaza-te de exemplu la un view care contine datele de interes. Apoi "joaca-te" cu Data ---> Pivot Table...
View as RSS news feed in XML
Powered by Community Server (Commercial Edition), by Telligent Systems