假設我有一個非常簡單的表是這樣的:如何使用任意ID來轉換數據以便比較2條記錄?
create table #People (ID_Num int, Gender char(1), Age int, Name varchar(50))
insert into #People values (7612,'M',38,'Joe')
insert into #People values (2290,'F',17,'Sally')
insert into #People values (93542,'F',38,'Frederica')
的每條記錄都有一個ID和屬性都與該ID相關聯。
假設我想比較2分任意的記錄,在一份報告中/表看起來像這樣:
Column_Name |Value (For ID 7612) |Value (For ID 93542)
------------------------------------------------------
Gender |M |F
Age |38 |38
Name |Joe |Frederica
我該怎麼辦呢?當我嘗試創建類似上面的東西時,我得到所有扭曲的PIVOT/UNPIVOT語法(我是否都需要?)
有沒有辦法對任何2個任意ID做這樣的事情? (也就是說,只需將ID插入變量/參數中,相同的代碼就可以重新用於任何2條記錄)。
如果你想知道爲什麼我要去解決所有這些問題,而不是僅僅比較它們出現在表格中的兩條記錄:在我得到樞軸部分的權利後,我也想過濾,所以我們只查看有差別的列。例如上面,我會顯示性別和姓名,但不是年齡。過濾出值不同的ROWS要比更容易,而不是寫入SQL來動態選擇帶有差異的COLUMNS。
這將讓醜陋更多更多的人爲你的桌子添加瘋狂的列數量。如果你能用一些例子來詳細說明你的最後一段,我肯定會制定一個更優雅的解決方案。只是我的兩分錢。 – scsimon