Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

Truy vấn SQL; ngang sang dọc

Bạn có thể sử dụng 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

Hoặc UNPIVOT :

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

Xem SQL Fiddle With Demo




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. TSQL DATETIME ISO 8601

  2. Tách các giá trị thành nhiều hàng

  3. Sao lưu tự động máy chủ SQL

  4. Ví dụ về SQUARE () trong SQL Server

  5. Làm cách nào để khử trùng đầu vào bằng PHP và trình điều khiển sqlsrv?