我知道這可能是我完全如此得太多這裏一個簡單的問題,有云:動態SQL列
我有以下的列的LaborTransaction表(表1)
Laborcode | Hours | OTHours | Tag
JSMITH | 2.0 | 0.0 | VACATION
JSMITH | 4.0 | 3.0 | PERSONAL
JSMITH | 3.0 | 0.0 | VACATION
JSMITH | 5.0 | 1.0 |
JSMITH | 7.0 | 4.0 |
我需要生成如下表:(表2)
Laborcode | Regular | Vacation | Personal | OT
JSMITH | 12.0 | 5.0 | 4.0 | 8.0
基本上,我只需要總結所有的人工處理,並檢查代碼。如果標籤(T1)是'VACATION',則小時(T1)在假期(T2)中被累計,如果標籤(T1)
- 如果標籤(T1)是 '個人',然後時間(T1)在個人(T2)得到總結 - OTHours(T1)是總結了在所有條目爲OT(T2)
在我的第一嘗試,我自己加入了表格,但得到了重複的結果。定期,休假,個人和OT加入多次相同的勞務交易。我正在使用MS SQL創建第二個表。任何和所有的幫助,非常感謝!謝謝!
聽起來就像您正在尋找PIVOT操作員! http://msdn.microsoft.com/en-us/library/ms177410.aspx –
檢出'PIVOT'。您需要命名列(即不能*動態地*查詢調整爲在「標籤」列中更改數據)。 – Yuck
@Yuck:我有嚴格的標籤值,所以硬編碼不是問題!我一定會考慮它! –