在SQL中创建一个视图

时间:2017-05-18 08:00:31

标签: sql view

我想从中创建一个视图:

select  sph.SiProforma,SuProforma,cps.Tp_FamilyOffice_Name,DsProforma,NaProformaFee,NqCount,NaProformaFee*NqCount as jameradif,
        SUM(NaProformaFee*NqCount)OVER(PARTITION BY suProforma) AS ghabelepardakht,ssv.Tp_Code_Desc,DsContract,proj.TpProject,
        Status.Tp_Code_Desc,spd.SiGoods,CtbGdsSpc2.TpGds,ctbgdsspc2.CuGds,Ds_Edit,ctbservice.TpService
from Sls.SlsProformaHeader sph 
    inner join dbo.Ctb_Persons_Specifications cpson sph.SiPerson=cps.Si_Person 
    inner join sls.SlsProformaDetail spd on sph.SiProforma=spd.SiProforma 
    inner join Sls.SlsProformaStatusV Status ON sph.SiProformaStatus = Status.Cu_Code 
    inner  join dbo.CtbProject2 Proj ON Proj.SiProject = sph.SiContract 
    left outer join CtbService on spd.SiService=ctbservice.SiService
    left outer join CtbGdsSpc2 on spd.SiGoods=CtbGdsSpc2.SiGds 
    left outer join dbo.Ctb_Code_Details det ON sph.SiComplimentory = det.Si_Code 
    left outer join Sls.SlsSaleTypeV ssv on spd.sisaletype =ssv.si_code

我写了创建视图el为...,但它给了我这个错误:

  

Msg 4506,Level 16,State 1,Procedure el,Line 1   每个视图或函数中的列名必须是唯一的。列名称' Tp_Code_Desc'在视图或功能中' el'被指定不止一次。

1 个答案:

答案 0 :(得分:0)

您在视图中包含两个名为Tp_Code_Desc的列。列名必须是唯一的。因此,其中一个应该被赋予不同的别名。