我正在分享一些两个表结构,如下所示。
表名:ATTRB
CMPG_ID ATTR_NAME ATTR_DESC REQUIRED TYPE ATTR_SEQ
12765 Attribute1 attribute1 1 String 2
12765 OFFERTA Offer 1 Indentification 1
表名:LEAD
CMPG_ID DYNAMIC_COLUMN
12765 <OFFERTA MaskType="Indentification">20110508</OFFERTA><Attribute1
MaskType="String">7894568978</Attribute1>
我创建了如下程序:
ALTER PROCEDURE [dbo].[up_Attrs_Get](
@CampaignID varchar(10))
AS
BEGIN
SELECT ATTRB.CMPG_ID AS CampaignID,
ATTRB.ATTR_NAME AS AttributeName ,
ATTRB.ATTR_DESC AS AttributeDesc,
ATTRB.REQUIRED AS Required,
CASE WHEN ATTRB.REQUIRED = 0 Then 'No'
ELSE 'Yes'
END as RequiredState,
CASE
WHEN ATTRB.TYPE <> '' THEN
ATTRB.TYPE
ELSE 'String'
END
AS AttributeType,
ATTRB.ATTR_SEQ AS AttributeSeq
FROM ATTRB
WHERE ATTRB.CMPG_ID = @CampaignID ORDER BY ATTR_SEQ
END
现在我需要提取如下结果。
CMPG_ID ATTR_NAME ATTR_DESC REQUIRED TYPE ATTR_SEQ Value
12765 Attribute1 attribute12 1 String 2 20110508
12765 OFFERTA Offer 1 Indentification 1 7894568978
Value 列应该是从 LEAD.Dynamic 列中提取的值。
谢谢