USE [jnjhoco_202506]
GO
/****** Object: View [dbo].[V_BCODE_DETAIL] Script Date: 2025/9/10 11:44:56 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER VIEW [dbo].[V_BCODE_DETAIL] (
ID,
CODE,
REF_CODE,
REF_TYPE,
COMPANY_CODE,
COMPANY_FULL_NAME,
BUDGET_YEAR,
BUDGET_MONTH,
CREATOR_USER_NAME,
CREATOR_REAL_NAME,
PROPOSER_USER_NAME,
PROPOSER_REAL_NAME,
CREATE_DATE,
EXP_LV3,
EXP_LV2,
EXP_LV1,
TP_CODE,
TP_NAME,
CP_CODE,
CP_NAME,
PAYER_CODE,
PAYER_NAME_CN,
VENDOR_CODE,
VENDOR_NAME_CN,
SOLDTO_CODE,
SOLDTO_NAME_CN,
IS_CLOSE,
BLOCK,
IS_NEED_FD,
REMARK,
CURRENCY_CODE,
BC_PLAN,
BC_ACT,
BC_REV,
BC_IN_PP,
BC_PP,
BC_IN_PC,
BC_IN_NPC,
BC_IN_REV,
DIR_CUS_CODE,
CUS_ACCOUNT,
BU,
LINE_FROM_DATE,
LINE_TO_DATE,
SHIPMENT_BEGIN_DATE,
SHIPMENT_END_DATE,
BRAND,
APPROVE_DATE,
LOCK_ALLOC,
LOCK_AUTO,
LOCK_FD,
LOCK_KC,
LOCK_SA,
LOCK_DEBATABLE_TP,
LOCK_OFFINV,
LOCK_NEG,
LOCK_DZ,
CUS_CODE,
CUS_NAME,
CUS_NKA_NAME,
BC_STATUS,
PR_APP_TYPE,
PAYLINK_CODE,
PAYLINK_NAME,
USER_FD_CODE,
KC_TYPE,
DUG_CODE,
HYPER_ACT_CODE,
HYPER_ACT_NAME,
BC_FROM_DATE,
BC_TO_DATE,
FD_COST_TYPE,
FD_BRANDS,
TZ_CODE,
ISVALID,
MATCH_AMOUNT,
MATCH_STATUS,
AMOUNT_APPROVE_DATE,
TZ_BRAND_CODE,
TZ_EXPENSE_TYPE_CODE,
TZ_SKU_CODE,
TZ_BEGIN_DATE,
TZ_END_DATE,
SKU_CODE
)
AS
SELECT
–ROW_NUMBER() OVER (ORDER BY CODE) AS ROW_ID,
TEMP.ID AS ID,
TEMP.CODE,
TEMP.REF_CODE,
TEMP.REF_TYPE,
TEMP.COMPANY_CODE,
TEMP.COMPANY_FULL_NAME,
TEMP.BUDGET_YEAR,
TEMP.BUDGET_MONTH,
TEMP.CREATOR_USER_NAME,
TEMP.CREATOR_REAL_NAME,
TEMP.PROPOSER_USER_NAME,
TEMP.PROPOSER_REAL_NAME,
TEMP.CREATE_DATE,
TEMP.EXP_LV3,
TEMP.EXP_LV2,
TEMP.EXP_LV1,
TEMP.TP_CODE,
TEMP.TP_NAME,
TEMP.CP_CODE,
TEMP.CP_NAME,
TEMP.PAYER_CODE,
TEMP.PAYER_NAME_CN,
TEMP.VENDOR_CODE,
TEMP.VENDOR_NAME_CN,
TEMP.SOLDTO_CODE,
TEMP.SOLDTO_NAME_CN,
TEMP.IS_CLOSE,
TEMP.BLOCK,
TEMP.IS_NEED_FD,
TEMP.REMARK,
TEMP.CURRENCY_CODE,
TEMP.BC_PLAN,
TEMP.BC_ACT,
TEMP.BC_REV,
TEMP.BC_IN_PP,
TEMP.BC_PP,
TEMP.BC_IN_PC,
TEMP.BC_IN_NPC,
TEMP.BC_IN_REV,
TEMP.DIR_CUS_CODE,
TEMP.CUS_ACCOUNT,
TEMP.BU,
TEMP.LINE_FROM_DATE,
TEMP.LINE_TO_DATE,
TEMP.SHIPMENT_BEGIN_DATE,
TEMP.SHIPMENT_END_DATE,
TEMP.BRAND,
TEMP.APPROVE_DATE,
TEMP.LOCK_ALLOC,
TEMP.LOCK_AUTO,
TEMP.LOCK_FD,
TEMP.LOCK_KC,
TEMP.LOCK_SA,
TEMP.LOCK_DEBATABLE_TP,
TEMP.LOCK_OFFINV,
TEMP.LOCK_NEG,
TEMP.LOCK_DZ,
TEMP.CUS_CODE,
TEMP.CUS_NAME,
TEMP.CUS_NKA_NAME,
(CASE WHEN IS_CLOSE = 1 THEN ‘Closed’
WHEN BLOCK = 1 THEN ‘Locked’
WHEN BC_IN_NPC+BC_IN_PC+BC_IN_PP+BC_IN_REV =0 THEN ‘Open’
ELSE ‘In Process’ END) AS BC_STATUS
,TEMP.PR_APP_TYPE
,TEMP.PAYLINK_CODE
,TEMP.PAYLINK_NAME
,TEMP.USER_FD_CODE
,TEMP.KC_TYPE
,TEMP.DUG_CODE
,TEMP.HYPER_ACT_CODE
,TEMP.HYPER_ACT_NAME
,TEMP.BC_FROM_DATE
,TEMP.BC_TO_DATE
,TEMP.FD_COST_TYPE
,TEMP.FD_BRANDS
,TEMP.TZ_CODE
,TEMP.ISVALID
,TEMP.MATCH_AMOUNT
,(CASE
WHEN TEMP.BU not in(select CKEY from T_BI_CHOOSE_OPTION where code=‘PAYMENT_MATCH_CUSTOMER’) THEN ‘无需匹配’
WHEN MATCH_AMOUNT = 0 THEN ‘未匹配’
WHEN BC_PLAN-BC_REV-BC_IN_REV = MATCH_AMOUNT THEN ‘匹配完成’
WHEN MATCH_AMOUNT < BC_PLAN THEN ‘部分匹配’
END) as MATCH_STATUS
,TEMP.AMOUNT_APPROVE_DATE
,TEMP.TZ_BRAND_CODE AS TZ_BRAND_CODE
,TEMP.TZ_EXPENSE_TYPE_CODE AS TZ_EXPENSE_TYPE_CODE
,TEMP.TZ_SKU_CODE AS TZ_SKU_CODE
,TEMP.TZ_BEGIN_DATE AS TZ_BEGIN_DATE
,TEMP.TZ_END_DATE AS TZ_END_DATE
,TEMP.SKU_CODE AS SKU_CODE
FROM
(
–normal TP bcode, with TP appline
SELECT
bc.ID,
bc.CODE,
bc.REF_CODE as REF_CODE,
bc.REF_TYPE as REF_TYPE,
company.CODE as COMPANY_CODE,
company.NAME_FULL as COMPANY_FULL_NAME,
bc.BUDGET_YEAR,
bc.BUDGET_MONTH,
sys.USERNAME as CREATOR_USER_NAME,
sys.realName as CREATOR_REAL_NAME,
sysu.USERNAME as PROPOSER_USER_NAME,
sysu.realName as PROPOSER_REAL_NAME,
bc.CREATE_DATE,
expLV3.CODE as EXP_LV3,
expLV2.CODE as EXP_LV2,
expLV1.CODE as EXP_LV1,
case when hact.CODE is null then act.CODE else null end as TP_CODE,
case when hact.CODE is null then act.NAME else null end as TP_NAME,
case when hact.CODE is null then cps.CODE else null end as CP_CODE,
case when hact.CODE is null then cps.NAME else null end as CP_NAME,
payer.CODE as PAYER_CODE,
payer.NAME_CN as PAYER_NAME_CN,
vendor.CODE as VENDOR_CODE,
vendor.NAME_CN as VENDOR_NAME_CN,
soldto.CODE as SOLDTO_CODE,
soldto.NAME_CN as SOLDTO_NAME_CN,
bc.IS_CLOSE,
bc.BLOCK,
bc.IS_NEED_FD,
bc.REMARK,
currency.CODE as CURRENCY_CODE,
bc.BC_PLAN,
bc.BC_ACT,
bc.BC_REV,
bc.BC_IN_PP,
bc.BC_PP,
bc.BC_IN_PC,
bc.BC_IN_NPC,
bc.BC_IN_REV,
cus.SOLDTO_CODE as DIR_CUS_CODE,
acc.CODE as CUS_ACCOUNT,
cus.BU as BU,
line.LINE_BEGIN_DATE as SHIPMENT_BEGIN_DATE,
line.LINE_END_DATE as SHIPMENT_END_DATE,
line.SHIPMENT_BEGIN_DATE as LINE_FROM_DATE,
line.SHIPMENT_END_DATE as LINE_TO_DATE,
brandtp.CODE as BRAND,
head.APPROVE_DATE,
bc.LOCK_ALLOC,
bc.LOCK_AUTO,
bc.LOCK_FD,
bc.LOCK_KC,
bc.LOCK_SA,
bc.LOCK_DEBATABLE_TP,
bc.LOCK_OFFINV,
bc.LOCK_NEG,
bc.LOCK_DZ,
cus.CODE as CUS_CODE,
cus.NAME as CUS_NAME,
cus.NKA_NAME as CUS_NKA_NAME
,bc.PR_APP_TYPE
,bc.PAYLINK_CODE
,PL.NAME_CN AS PAYLINK_NAME
,bc.USER_FD_CODE
,bc.KC_TYPE
,dug.CODE as DUG_CODE
,hact.CODE as HYPER_ACT_CODE
,hact.NAME as HYPER_ACT_NAME
– ,(select MIN(fd.FROM_DATE) from T_TP_FD_BC fdbc left join T_TP_FD fd on fdbc.FD_HEAD_ID=fd.ID where fdbc.BCODE_ID=bc.ID) as BC_FROM_DATE
– ,(select MAX(fd.TO_DATE) from T_TP_FD_BC fdbc left join T_TP_FD fd on fdbc.FD_HEAD_ID=fd.ID where fdbc.BCODE_ID=bc.ID) as BC_TO_DATE
,bc.FD_FROM_DATE as BC_FROM_DATE
,bc.FD_TO_DATE as BC_TO_DATE
,bc.FD_COST_TYPE
,bc.FD_BRANDS
,tz.code as TZ_CODE
,tz.isvalid as ISVALID
,bc.MATCH_AMOUNT
,bc.AMOUNT_APPROVE_DATE
,tzBrand.CODE AS TZ_BRAND_CODE
,tzExpenseType.CODE as TZ_EXPENSE_TYPE_CODE
,tzMaterial.CODE as TZ_SKU_CODE
,tz.BEGIN_DATE as TZ_BEGIN_DATE
,TZ.END_DATE AS TZ_END_DATE
,sku.code as SKU_CODE
from T_PR_BC as bc
left join T_BI_COMPANY as company on bc.COMPANY_ID = company.id
left join T_BI_USER as u on bc.CREATOR_ID = u.ID
left join SYSUSER as sys on u.SYSUSERID = sys.ID
left join T_BI_USER as uu on bc.PROPOSER_ID = uu.ID
left join SYSUSER as sysu on uu.SYSUSERID = sysu.ID
left join T_BI_EXPENSE_TYPE as expLV3 on bc.COST_TYPE_ID = expLV3.ID
left join T_BI_EXPENSE_TYPE as expLV2 on expLV3.P_ID = expLV2.ID
left join T_BI_EXPENSE_TYPE as expLV1 on expLV2.P_ID = expLV1.ID
left join T_BI_ACTIVITY as act on bc.ACT_ID = act.ID
left join T_BI_CPSUBTYPE as cps on bc.CP_SUTYPE_ID = cps.ID
left join T_SAP_CUSTOMER_FUCTION as pay on bc.PAYER_ID = pay.ID
left join T_SAP_CUSTOMER as payer on pay.CUSTOMER = payer.ID
left join T_SAP_VENDOR as vendor on bc.VENDOR_ID = vendor.ID
left join T_SAP_CUSTOMER_FUCTION as sold on bc.SOLDTO_ID = sold.ID
left join T_SAP_CUSTOMER as soldto on sold.CUSTOMER = soldto.ID
left join T_BI_CURRENCY as currency on bc.CUR_ID = currency.ID
left join T_TP_APP_LINE as line on bc.REF_ID = line.ID
left join T_BI_MATERIAL as sku on bc.SKU_ID = sku.ID
left join T_BI_BRAND as brandtp on bc.BRAND_ID = brandtp.ID
left join T_TP_APP as head on line.TP_APP_ID = head.ID
left join V_BI_CUSTOMER as cus on (cus.CUS_ID=bc.CUS_ID and cus.BUDGET_YEAR=bc.BUDGET_YEAR)
left join T_BI_CUSTOMER_ACCOUNT as acc on cus.CUS_ACCOUNT_ID = acc.ID
left join T_SAP_CUSTOMER as PL on bc.PAYLINK_CODE=PL.CODE and PL.COCD=‘7049’ and PL.BLOCK=0
left join T_BI_DUG dug on cus.DUG_ID=dug.ID
left join T_BI_HYPER_ACTIVITY hact on bc.HYPER_ACT_ID=hact.ID
left join T_PR_BC_TZ tz on tz.bcode_id=bc.ID and tz.isValid=1
LEFT JOIN T_BI_EXPENSE_TYPE tzExpenseType ON tzExpenseType.ID =bc.NEW_COST_TYPE_ID
LEFT JOIN T_BI_BRAND tzBrand on tzBrand.ID = bc.NEW_BRAND_ID
LEFT JOIN T_BI_MATERIAL tzMaterial on tzMaterial.id = bc.NEW_SKU_ID
where
REF_TYPE=‘TP’
AND KC_TYPE IN(99,3)
UNION ALL
–kc tp bcode, without tp appline
select
bc.ID,
bc.CODE,
bc.REF_CODE as REF_CODE,
bc.REF_TYPE as REF_TYPE,
company.CODE as COMPANY_CODE,
company.NAME_FULL as COMPANY_FULL_NAME,
bc.BUDGET_YEAR,
bc.BUDGET_MONTH,
sys.USERNAME as CREATOR_USER_NAME,
sys.realName as CREATOR_REAL_NAME,
sysu.USERNAME as PROPOSER_USER_NAME,
sysu.realName as PROPOSER_REAL_NAME,
bc.CREATE_DATE,
expLV3.CODE as EXP_LV3,
expLV2.CODE as EXP_LV2,
expLV1.CODE as EXP_LV1,
case when hact.CODE is null then act.CODE else null end as TP_CODE,
case when hact.CODE is null then act.NAME else null end as TP_NAME,
case when hact.CODE is null then cps.CODE else null end as CP_CODE,
case when hact.CODE is null then cps.NAME else null end as CP_NAME,
payer.CODE as PAYER_CODE,
payer.NAME_CN as PAYER_NAME_CN,
vendor.CODE as VENDOR_CODE,
vendor.NAME_CN as VENDOR_NAME_CN,
soldto.CODE as SOLDTO_CODE,
soldto.NAME_CN as SOLDTO_NAME_CN,
bc.IS_CLOSE,
bc.BLOCK,
bc.IS_NEED_FD,
bc.REMARK,
currency.CODE as CURRENCY_CODE,
bc.BC_PLAN,
bc.BC_ACT,
bc.BC_REV,
bc.BC_IN_PP,
bc.BC_PP,
bc.BC_IN_PC,
bc.BC_IN_NPC,
bc.BC_IN_REV,
cus.SOLDTO_CODE as DIR_CUS_CODE,
acc.CODE as CUS_ACCOUNT,
cus.BU as BU,
CAST(cast (bc.BUDGET_YEAR as varchar) + ‘-’ + cast(bc.BUDGET_MONTH as varchar) +‘-1’ as date) as LINE_FROM_DATE,
dateadd(day,-1,dateadd(Month,1,CAST(cast (bc.BUDGET_YEAR as varchar) + ‘-’ + cast(bc.BUDGET_MONTH as varchar) +‘-1’ as date))) as LINE_TO_DATE,
null as SHIPMENT_BEGIN_DATE,
null as SHIPMENT_END_DATE,
brandtp.CODE as BRAND,
bc.CREATE_DATE AS APPROVE_DATE,
bc.LOCK_ALLOC,
bc.LOCK_AUTO,
bc.LOCK_FD,
bc.LOCK_KC,
bc.LOCK_SA,
bc.LOCK_DEBATABLE_TP,
bc.LOCK_OFFINV,
bc.LOCK_NEG,
bc.LOCK_DZ,
cus.CODE as CUS_CODE,
cus.NAME as CUS_NAME,
cus.NKA_NAME as CUS_NKA_NAME
,bc.PR_APP_TYPE
,bc.PAYLINK_CODE
,PL.NAME_CN as PAYLINK_NAME
,bc.USER_FD_CODE
,bc.KC_TYPE
,dug.CODE as DUG_CODE
,hact.CODE as HYPER_ACT_CODE
,hact.NAME as HYPER_ACT_NAME
– ,(select MIN(fd.FROM_DATE) from T_TP_FD_BC fdbc left join T_TP_FD fd on fdbc.FD_HEAD_ID=fd.ID where fdbc.BCODE_ID=bc.ID) as BC_FROM_DATE
– ,(select MAX(fd.TO_DATE) from T_TP_FD_BC fdbc left join T_TP_FD fd on fdbc.FD_HEAD_ID=fd.ID where fdbc.BCODE_ID=bc.ID) as BC_TO_DATE
,bc.FD_FROM_DATE as BC_FROM_DATE
,bc.FD_TO_DATE as BC_TO_DATE
,bc.FD_COST_TYPE
,bc.FD_BRANDS
,tz.code as TZ_CODE
,tz.isvalid as ISVALID
,bc.MATCH_AMOUNT
,bc.AMOUNT_APPROVE_DATE
,tzBrand.CODE AS TZ_BRAND_CODE
,tzExpenseType.CODE as TZ_EXPENSE_TYPE_CODE
,tzMaterial.CODE as TZ_SKU_CODE
,tz.BEGIN_DATE as TZ_BEGIN_DATE
,TZ.END_DATE AS TZ_END_DATE
,sku.code as SKU_CODE
from T_PR_BC as bc
left join T_BI_COMPANY as company on bc.COMPANY_ID = company.id
left join T_BI_USER as u on bc.CREATOR_ID = u.ID
left join SYSUSER as sys on u.SYSUSERID = sys.ID
left join T_BI_USER as uu on bc.PROPOSER_ID = uu.ID
left join SYSUSER as sysu on uu.SYSUSERID = sysu.ID
left join T_BI_EXPENSE_TYPE as expLV3 on bc.COST_TYPE_ID = expLV3.ID
left join T_BI_EXPENSE_TYPE as expLV2 on expLV3.P_ID = expLV2.ID
left join T_BI_EXPENSE_TYPE as expLV1 on expLV2.P_ID = expLV1.ID
left join T_BI_ACTIVITY as act on bc.ACT_ID = act.ID
left join T_BI_CPSUBTYPE as cps on bc.CP_SUTYPE_ID = cps.ID
left join T_SAP_CUSTOMER_FUCTION as pay on bc.PAYER_ID = pay.ID
left join T_SAP_CUSTOMER as payer on pay.CUSTOMER = payer.ID
left join T_SAP_VENDOR as vendor on bc.VENDOR_ID = vendor.ID
left join T_SAP_CUSTOMER_FUCTION as sold on bc.SOLDTO_ID = sold.ID
left join T_SAP_CUSTOMER as soldto on sold.CUSTOMER = soldto.ID
left join T_BI_CURRENCY as currency on bc.CUR_ID = currency.ID
left join T_BI_MATERIAL as sku on bc.SKU_ID = sku.ID
left join T_BI_BRAND as brandtp on bc.BRAND_ID = brandtp.ID
left join V_BI_CUSTOMER as cus on (cus.CUS_ID=bc.CUS_ID and cus.BUDGET_YEAR=bc.BUDGET_YEAR)
left join T_BI_CUSTOMER_ACCOUNT as acc on cus.CUS_ACCOUNT_ID = acc.ID
left join T_SAP_CUSTOMER as PL on bc.PAYLINK_CODE=PL.CODE and PL.COCD=‘7049’ and PL.BLOCK=0
left join T_BI_DUG dug on cus.DUG_ID=dug.ID
left join T_BI_HYPER_ACTIVITY hact on bc.HYPER_ACT_ID=hact.ID
left join T_PR_BC_TZ tz on tz.bcode_id=bc.ID and tz.isValid=1
LEFT JOIN T_BI_EXPENSE_TYPE tzExpenseType ON tzExpenseType.ID =bc.NEW_COST_TYPE_ID
LEFT JOIN T_BI_BRAND tzBrand on tzBrand.ID = bc.NEW_BRAND_ID
LEFT JOIN T_BI_MATERIAL tzMaterial on tzMaterial.id = bc.NEW_SKU_ID
where
REF_TYPE=‘TP’
AND KC_TYPE not in(99,3)
UNION ALL
–none TP bcode
select
bc.ID,
bc.CODE,
bc.REF_CODE as REF_CODE,
bc.REF_TYPE as REF_TYPE,
company.CODE as COMPANY_CODE,
company.NAME_FULL as COMPANY_FULL_NAME,
bc.BUDGET_YEAR,
bc.BUDGET_MONTH,
sys.USERNAME as CREATOR_USER_NAME,
sys.realName as CREATOR_REAL_NAME,
sysu.USERNAME as PROPOSER_USER_NAME,
sysu.realName as PROPOSER_REAL_NAME,
bc.CREATE_DATE,
expLV3.CODE as EXP_LV3,
expLV2.CODE as EXP_LV2,
expLV1.CODE as EXP_LV1,
null as TP_CODE,
null as TP_NAME,
case when hact.code is null then cps.CODE else null end as CP_CODE,
case when hact.code is null then cps.NAME else null end as CP_NAME,
payer.CODE as PAYER_CODE,
payer.NAME_CN as PAYER_NAME_CN,
vendor.CODE as VENDOR_CODE,
vendor.NAME_CN as VENDOR_NAME_CN,
soldto.CODE as SOLDTO_CODE,
soldto.NAME_CN as SOLDTO_NAME_CN,
bc.IS_CLOSE,
bc.BLOCK,
bc.IS_NEED_FD,
bc.REMARK,
currency.CODE as CURRENCY_CODE,
bc.BC_PLAN,
bc.BC_ACT,
bc.BC_REV,
bc.BC_IN_PP,
bc.BC_PP,
bc.BC_IN_PC,
bc.BC_IN_NPC,
bc.BC_IN_REV,
null as DIR_CUS_CODE,
null as CUS_ACCOUNT,
null as BU,
line.FROM_DATE as LINE_FROM_DATE,
line.TO_DATE as LINE_TO_DATE,
null as SHIPMENT_BEGIN_DATE,
null as SHIPMENT_END_DATE,
brandcp.CODE as BRAND,
head.APPROVE_DATE,
bc.LOCK_ALLOC,
bc.LOCK_AUTO,
bc.LOCK_FD,
bc.LOCK_KC,
bc.LOCK_SA,
bc.LOCK_DEBATABLE_TP,
bc.LOCK_OFFINV,
bc.LOCK_NEG,
bc.LOCK_DZ,
null AS CUS_CODE,
null AS CUS_NAME,
null AS CUS_NKA_NAME
,bc.PR_APP_TYPE
,null as PAY_LINK_CODE
,NULL AS PAY_LINK_NAME
,bc.USER_FD_CODE
,bc.KC_TYPE
,null as DUG_CODE
,hact.CODE as HYPER_ACT_CODE
,hact.NAME as HYPER_ACT_NAME
,null
,null
,null
,null
,tz.code as TZ_CODE
,tz.isvalid as ISVALID
,bc.MATCH_AMOUNT
,bc.AMOUNT_APPROVE_DATE
,tzBrand.CODE AS TZ_BRAND_CODE
,tzExpenseType.CODE as TZ_EXPENSE_TYPE_CODE
,tzMaterial.CODE as TZ_SKU_CODE
,tz.BEGIN_DATE as TZ_BEGIN_DATE
,TZ.END_DATE AS TZ_END_DATE
,sku.code as SKU_CODE
from T_PR_BC as bc
left join T_BI_COMPANY as company on bc.COMPANY_ID = company.id
left join T_BI_USER as u on bc.CREATOR_ID = u.ID
left join SYSUSER as sys on u.SYSUSERID = sys.ID
left join T_BI_USER as uu on bc.PROPOSER_ID = uu.ID
left join SYSUSER as sysu on uu.SYSUSERID = sysu.ID
left join T_BI_EXPENSE_TYPE as expLV3 on bc.COST_TYPE_ID = expLV3.ID
left join T_BI_EXPENSE_TYPE as expLV2 on expLV3.P_ID = expLV2.ID
left join T_BI_EXPENSE_TYPE as expLV1 on expLV2.P_ID = expLV1.ID
left join T_BI_CPSUBTYPE as cps on bc.CP_SUTYPE_ID = cps.ID
left join T_SAP_CUSTOMER_FUCTION as pay on bc.PAYER_ID = pay.ID
left join T_SAP_CUSTOMER as payer on pay.CUSTOMER = payer.ID
left join T_SAP_VENDOR as vendor on bc.VENDOR_ID = vendor.ID
left join T_SAP_CUSTOMER_FUCTION as sold on bc.SOLDTO_ID = sold.ID
left join T_SAP_CUSTOMER as soldto on sold.CUSTOMER = soldto.ID
left join T_BI_CURRENCY as currency on bc.CUR_ID = currency.ID
left join T_AP_APP_LINE as line on bc.REF_ID = line.ID
left join T_AP_APP as head on line.APP_ID = head.ID
left join T_BI_BRAND as brandcp on head.BRAND_ID = brandcp.ID
left join T_BI_HYPER_ACTIVITY hact on bc.HYPER_ACT_ID=hact.ID
left join T_PR_BC_TZ tz on tz.bcode_id=bc.ID and tz.isValid=1
LEFT JOIN T_BI_EXPENSE_TYPE tzExpenseType ON tzExpenseType.ID =bc.NEW_COST_TYPE_ID
LEFT JOIN T_BI_BRAND tzBrand on tzBrand.ID = bc.NEW_BRAND_ID
LEFT JOIN T_BI_MATERIAL tzMaterial on tzMaterial.id = bc.NEW_SKU_ID
left join T_BI_MATERIAL as sku on bc.SKU_ID = sku.ID
where
REF_TYPE not in(‘TP’)
)TEMP
GO
这是我这个sql server 视图的内容,现在我的需求是 tz_code如果有多个需要 使用 英文逗号 拼成一行例如BCTZ01,BCTZ02,BCTZ03 ,你能直接帮我改好一个完整的视图,我只需要复制粘贴就行