資料轉換通常需要逆透視,通常使用聚合函數來實現。然而,不聚合的旋轉也是可能的。
考慮一個表,其中每行代表一個客戶,包括 CustomerID、DBColumnName 和對應的資料。 目標是透視這些數據,根據每個客戶的 DBColumnName 將其數據組織到單獨的列中。
<code class="language-sql">SELECT CustomerID, MIN(CASE WHEN DBColumnName = 'FirstName' THEN Data END) AS FirstName, MIN(CASE WHEN DBColumnName = 'MiddleName' THEN Data END) AS MiddleName, MIN(CASE WHEN DBColumnName = 'LastName' THEN Data END) AS LastName, MIN(CASE WHEN DBColumnName = 'Date' THEN Data END) AS Date FROM table GROUP BY CustomerID;</code>
此 T-SQL 查詢使用條件邏輯(CASE 語句)依據 DBColumnName 選取資料。 MIN()
函數確保為每個客戶的欄位僅選擇一個值。 這可以有效地轉換數據,而無需使用傳統意義上的聚合,將每個客戶的屬性組織到不同的欄位中。 此方法避免了處理非數位資料時與聚合相關的潛在問題。
以上是如何在不使用聚合函數的情況下透視 T-SQL 資料?的詳細內容。更多資訊請關注PHP中文網其他相關文章!