Câu hỏi phỏng vấn SQL Server
Câu hỏi

Làm cách nào chúng ta có thể chuyển đổi một bảng bằng SQL Server (thay đổi các rows thành columns hoặc ngược lại)?

Câu trả lời

Để chuyển đổi một bảng trong SQL Server, bạn có thể sử dụng các toán tử PIVOT để chuyển đổi từ hàng sang cột và UNPIVOT để chuyển đổi từ cột sang hàng.

Chuyển đổi từ Hàng sang Cột (Rows to Columns)

Sử dụng PIVOT:

SELECT FirstName, Amount, PostalCode, LastName, AccountNumber
FROM 
(
  SELECT Id, Value, ColumnName
  FROM YourTable
) AS SourceTable
PIVOT
(
  MAX(Value)
  FOR ColumnName IN (FirstName, Amount, PostalCode, LastName, AccountNumber)
) AS PivotTable;

Trong đoạn mã trên, YourTable là bảng chứa dữ liệu ban đầu. PIVOT được sử dụng để chuyển đổi giá trị từ hàng sang cột dựa trên cột ColumnName. Hàm tổng hợp MAX được sử dụng để xử lý các giá trị khi chuyển đổi, nhưng bạn có thể sử dụng các hàm tổng hợp khác nếu cần

Chuyển đổi từ Cột sang Hàng (Columns to Rows)

Sử dụng UNPIVOT:

SELECT ID, EntityId, IndicatorName, IndicatorValue
FROM 
(
  SELECT ID, EntityID, Indicator1, Indicator2, Indicator3, ..., Indicator150
  FROM YourTable
) AS SourceTable
UNPIVOT
(
  IndicatorV...
middle

middle

Gợi ý câu hỏi phỏng vấn

middle

Làm sao để tìm các giá trị trùng lặp trong bảng SQL?

middle

DMLDDL trong SQL Server là gì?

middle

Row constructors trong SQL Server là gì?

Bình luận

Chưa có bình luận nào

Chưa có bình luận nào