Tsql 需要使用T-SQL添加计算字段
我有一个查询,我想在其中添加一个计算字段。我需要添加2013年的预计销售额。计算方法是当前的月数除以一年的总销售额乘以12。我有一个FiscalMonthNum字段,它还不在查询中。有人能告诉我如何添加我需要的字段吗Tsql 需要使用T-SQL添加计算字段,tsql,sql-server-2012-express,Tsql,Sql Server 2012 Express,我有一个查询,我想在其中添加一个计算字段。我需要添加2013年的预计销售额。计算方法是当前的月数除以一年的总销售额乘以12。我有一个FiscalMonthNum字段,它还不在查询中。有人能告诉我如何添加我需要的字段吗 SELECT a.Vendor, vn.ACNAME AS Vendor_Name, a.FiscalYear, a.QtySold, a.ExtCost FROM dbo.S2K_VEND vn INNER JOIN (SE
SELECT
a.Vendor,
vn.ACNAME AS Vendor_Name,
a.FiscalYear,
a.QtySold,
a.ExtCost
FROM
dbo.S2K_VEND vn
INNER JOIN
(SELECT
sd.IFPRVN AS Vendor,
fc.FiscalYear,
SUM(sd.SBQSHP) AS QtySold,
SUM(sd.SBEPRC) AS ExtCost
FROM
dbo.SalesData sd
LEFT OUTER JOIN dbo.FiscalCalendar fc ON fc.FiscalDate = sd.SBINDT
WHERE
sd.SBTYPE = 'O'
AND
sd.SBINDT > '2011-12-31'
AND
sd.SBCLS NOT IN ('1500')
GROUP BY
sd.IFPRVN,
fc.FiscalYear
)a
ON vn.ACVEND = a.Vendor
GROUP BY
a.Vendor,
vn.ACNAME,
a.FiscalYear,
a.QtySold,
a.ExtCost
下面的方法会奏效吗?将销售额除以最大月数,然后乘以12
SELECT
a.Vendor,
vn.ACNAME AS Vendor_Name,
a.FiscalYear,
a.QtySold,
a.ExtCost,
a.PredictedQtySold,
a.PredictedExtCost
FROM
dbo.S2K_VEND vn
INNER JOIN
(SELECT
sd.IFPRVN AS Vendor,
fc.FiscalYear,
12 * (SUM(sd.SBQSHP)/MAX(FiscalMonthNumber)) AS PredictedQtySold,
12 * (SUM(sd.SBEPRC)/MAX(FiscalMonthNumber)) AS PredictedExtCost,
SUM(sd.SBQSHP) AS QtySold,
SUM(sd.SBEPRC) AS ExtCost
FROM
dbo.SalesData sd
LEFT OUTER JOIN dbo.FiscalCalendar fc ON fc.FiscalDate = sd.SBINDT
WHERE
sd.SBTYPE = 'O'
AND
sd.SBINDT > '2011-12-31'
AND
sd.SBCLS NOT IN ('1500')
GROUP BY
sd.IFPRVN,
fc.FiscalYear
)a
ON vn.ACVEND = a.Vendor
GROUP BY
a.Vendor,
vn.ACNAME,
a.FiscalYear,
a.QtySold,
a.ExtCost
;
fiscalmonnum
来自哪个表?它必须是2013年的。你的意思是:当fc.FiscalYear='2013/2014'时,PredictedExtCost=CASE,然后是12*(SUM(sd.SBEPRC)/MAX(FiscalMonthNumber)),否则为空结束