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:

sql Copy
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:

sql Copy
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

senior

Filegroup trong SQL Server là gì?

middle

Ưu điểm của việc sử dụng Stored Procedures trong SQL Server là gì?

senior

Hash table index trong SQL Server hoạt động như thế nào?

Bình luận

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

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