sql >> Database teknologi >  >> RDS >> Sqlserver

SQL-forespørgsel; vandret til lodret

Du kan bruge en UNION ALL :

select No, 'Flag_1' as FlagName, Flag_1 as Flag_Value
from yourtable
union all
select No, 'Flag_2' as FlagName, Flag_2 as Flag_Value
from yourtable
union all
select No, 'Flag_3' as FlagName, Flag_3 as Flag_Value
from yourtable

Eller en UNPIVOT :

select no, FlagsName, flag_value
from yourtable
unpivot
(
    flag_value
    for FlagsName in (Flag_1, Flag_2, Flag_3)
) u

Se SQL-fiffel med demo




  1. ORACLE APEX - Indstil en knap til at udfylde et tekstfelt

  2. Formatering af et tidsstempel

  3. Har brug for hjælp til at skubbe 8k kolonneværdi fra R til CLOB kolonne (Oracle)

  4. ordre af rand() får problemer for store indlæg