我希望有人能夠幫助我處理我一直在寫的查詢。我對sql仍然很陌生,所以如果我錯誤地解釋了一些東西,請告訴我。需要幫助將填充數據移至空白字段的字段
我有一個帶零件號字段的表格,30個描述字段和30個描述值字段。我試圖以特定的格式返回記錄,其中沒有填充字段前的空白值的記錄。舉例來說,如果我有以下記錄:
Part_Number|Description_1|Description_1_Value|Description_2|Description_2_Value|Description_3|Description_3_Value
123|Color|Red|Material|Wood|Quantity|
456|Color||Material|Steel|Quantity|
789|Color|Black|Material||Quantity|1
我想返回以下結果:
Part_Number|Description 1|Description 2
123|Quantity
456|Color|Quantity
789|Material
這裏是我使用的查詢:
SELECT [Part_Number]
,isnull(case when [Description_1_Value] is null then [Description_1] else '' end,'') 'Description 1'
,isnull(case when [Description_2_Value] is null then [Description_2] else '' end,'') 'Description 2'
,isnull(case when [Description_3_Value] is null then [Description_3] else '' end,'') 'Description 3'
FROM [MyTable]
問題我對這個查詢的理解是,它允許填充字段之間的空白字段。將所有填充字段移到所有空白字段左側的最佳方法是什麼?我有30列可能或可能沒有數據。
預先感謝您!
編輯:我使用的MS SQL Server Management Studio中2008
SQL Server,MySQL,Sybase,Oracle? – 2012-01-30 13:36:41
我正在使用MS SQL Server管理工作室2008 – user955289 2012-01-30 13:42:59
檢查我的完整示例:)希望它有幫助 – 2012-01-30 13:46:21