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

Kể tên các loại Triggers trong SQL Server?

junior

Trường dữ liệu BOOLEAN có giá trị nào trong SQL Server?

junior

Làm cách nào để thêm một column có giá trị mặc định vào một table có sẵn trong SQL Server?

Bình luận

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

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