SQL 比较股票 table,平均价格 + 10% 四舍五入和更新字段

SQL Compare stock table, Average Price + 10% Round up & Update Field

我有一个 SQL table 叫 tblStock。它包含我公司出售的数千种库存的详细信息。它有以下列:

StockID
Make
Model
YearManufacture
Price
GuidePrice

对于此 table 中未售出的商品,我想根据已售出的库存数据,将预测销售价值添加到名为 GuidePrice 的字段中, 例如,如果我有以下项目:

StockID: 123456
Make: VW
Model: Beetle
YearManufacture: 1975
Price: 2000.00
GuidePrice:

我想根据我之前销售的所有 1975 年大众甲壳虫的价格计算指导价。

我想取 tblStock 中所有 1975 年大众甲壳虫的平均价格并加上 10%,然后四舍五入到最接近的 500.00 并插入 GuidePrice 列。

整体计算比这复杂,但这是我卡住的部分。如果有人能给我一些提示,我将不胜感激!

编辑: 这可以得到平均值,但我必须输入每个品牌、型号和年份 (然后四舍五入)

Update tblStock
set GuidePrice=(Select  AVG(Price) 
from tblStock 
INNER JOIN
tblMake ON tblStock.Car_idMake = tblMake.idMake INNER JOIN
tblModel ON tblStock.Car_idModel = tblModel.idModel
where MakeD='Cat'
AND ModelD ='320CL'
AND YearManufacture='2004')

where idStock='140038410'

虽然这根本不起作用;

update tblStock t1
set GuidePrice = (select 1.10 * AVG(Price)
from tblStock t2
where t2.Car_idMake = t1.Car_idMake
                and t2.Car_idModel = t1.Car_idModel
                and t2.YearManufacture = t1.YearManufacture )

其中 idStock='140038410'

像这样更新特定的汽车:

update tblStock t1
set GuidePrice = (select 1.10 * avg(Price)
                  from tblStock t2
                  where t2.Make = t1.make
                    and t2.Model = t1.Model
                    and t2.YearManufacture = t1.YearManufacture)
where StockID = 123456

四舍五入到最接近的 500.00 仍然缺失。

您怎么知道汽车是已售出还是未售出?如果未售出,Price 是否为空?

如果是这种情况,并且您想为所有未售出的汽车更新 GuidePrice,请将上面的 WHERE 子句替换为:

WHERE GuidePrice IS NULL