我有一个包含许多列的 SQL 表,特别是一组包含代码的列。对于每个代码列,还存在与每个代码列相关的相应信息列。我需要能够将一条记录变成多条返回记录(即每个代码一条记录)。这是一个带有遗留数据和软件代码的旧表,并且很难对表进行规范化(即使它确实需要)。
这是表格:
CO_ComapnyInformation
(
ProjectID
,SubContractor_OrgID
,BudGet
,ContractDays
,ContractCode
,ContractCode1
,ContractCode2
,ContractCode3
,ContractCode4
,ContractCode5
,ContractCodeAmt
,ContractCode1Amt
,ContractCode2Amt
,ContractCode3Amt
,ContractCode4Amt
,ContractCode5Amt
,ContractStartDate
,ContractCodeBudget
,ContractCodeBudget1
,ContractCodeBudget2
,ContractCodeBudget3
,ContractCodeBudget4
,ContractCodeBudget5
,ContractCodeAdjust
,ContractCodeAdjust1
,ContractCodeAdjust2
,ContractCodeAdjust3
,ContractCodeAdjust4
,ContractCodeAdjust5
,ContractCodeUncommit
,ContractCodeUncommit1
,ContractCodeUncommit2
,ContractCodeUncommit3
,ContractCodeUncommit4
,ContractCodeUncommit5
,ContractCodeSaveOR
,ContractCodeSaveOR1
,ContractCodeSaveOR2
,ContractCodeSaveOR3
,ContractCodeSaveOR4
,ContractCodeSaveOR5
)
基本上我需要返回的记录集看起来像这样:
Contract Code | Contract Budget | Contract Adjust | Contract Uncommit | Contract SaveOR | Pro_ID | ...
ContractCode 10.00 xxxx
ContractCode1
ContractCode2
ETC...
仅当 COntractCode 列中包含数据时。
我该怎么做呢?