在我的 SQL 视图中创建一个新列 - 该列必须是其他两个列的组合

Create a new column in my SQL View - Column must be two other columns combined

我正在尝试创建一个新视图,但我也希望此视图有一个新列。新列必须是 StkCode 和 Description_1 组合。

例如:如果我的StkCode是DX11122,Description_1是香草粉;我想要一个如下所示的字段:"Vanilla Powder - DX11122"

CREATE VIEW KFF_Rep_Comm
AS
SELECT vw_KLX_RepCommTrx.AccName AS AccountName
,vw_KLX_RepCommTrx.Account AS AccountNum
,vw_KLX_RepCommTrx.RepID
,vw_KLX_RepCommTrx.RepName
,vw_KLX_RepCommTrx.CommPerc AS CommPercent
,vw_KLX_RepCommTrx.Credit
,vw_KLX_RepCommTrx.Debit
,vw_KLX_RepCommTrx.MUPercent AS MarkUpPercent
,vw_KLX_RepCommTrx.ProfitPercent AS GrossProfitPercent
,vw_KLX_RepCommTrx.SgdTrxAmt AS InvValue
,vw_KLX_RepCommTrx.SgdCost AS Cost
,vw_KLX_RepCommTrx.SgdProfit AS GrossProfit
,vw_KLX_RepCommTrx.SgdQty AS QtySold_Kg
,vw_KLX_RepCommTrx.TxDate
,vw_KLX_RepCommTrx.TrCodeID
,vw_KLX_RepCommTrx.StkCode
,vw_KLX_RepCommTrx.RepCode
,vw_KLX_RepCommTrx.Reference
,Client.DCLink
,StkItem.StockLink
FROM Client
INNER JOIN vw_KLX_RepCommTrx
ON vw_KLX_RepCommTrx.AccName = Client.Name
INNER JOIN StkItem
ON StkItem.Code = vw_KLX_RepCommTrx.StkCode
ADD ItemAndCode VARCHAR
Update vw_KLX_RepCommTrx 
SET ItemAndCode Concat(StkCode, ' - ',Description_1) ---HERE is where I am going wrong, I think?

您只需在 select 中添加另一列:

CREATE VIEW KFF_Rep_Comm
AS
SELECT vw_KLX_RepCommTrx.AccName AS AccountName
    ,vw_KLX_RepCommTrx.Account AS AccountNum
    ,vw_KLX_RepCommTrx.RepID
    ,vw_KLX_RepCommTrx.RepName
    ,vw_KLX_RepCommTrx.CommPerc AS CommPercent
    ,vw_KLX_RepCommTrx.Credit
    ,vw_KLX_RepCommTrx.Debit
    ,vw_KLX_RepCommTrx.MUPercent AS MarkUpPercent
    ,vw_KLX_RepCommTrx.ProfitPercent AS GrossProfitPercent
    ,vw_KLX_RepCommTrx.SgdTrxAmt AS InvValue
    ,vw_KLX_RepCommTrx.SgdCost AS Cost
    ,vw_KLX_RepCommTrx.SgdProfit AS GrossProfit
    ,vw_KLX_RepCommTrx.SgdQty AS QtySold_Kg
    ,vw_KLX_RepCommTrx.TxDate
    ,vw_KLX_RepCommTrx.TrCodeID
    ,vw_KLX_RepCommTrx.StkCode
    ,vw_KLX_RepCommTrx.RepCode
    ,vw_KLX_RepCommTrx.Reference
    ,Client.DCLink
    ,StkItem.StockLink
    ,Concat(vw_KLX_RepCommTrx.StkCode, ' - ',vw_KLX_RepCommTrx.Description_1) as ItemAndCode 
FROM Client
    INNER JOIN vw_KLX_RepCommTrx
        ON vw_KLX_RepCommTrx.AccName = Client.Name
    INNER JOIN StkItem
        ON StkItem.Code = vw_KLX_RepCommTrx.StkCode

从您的代码中不清楚第 Description_1 列来自何处,但我认为它是相同的视图 vw_KLX_RepCommTrx。如果不是 - 您可以使用实际的 table/view 名称更新它(如果列名称是唯一的,则删除 table/view 名称)