我有一个名为tblStock
的SQL表。它包含了我公司销售的数千种库存的详细信息。它包含以下列:
StockID
Make
Model
YearManufacture
Price
GuidePrice
对于此表中未售出的商品,我想根据已售出的库存数据,将预测的销售价值添加到名为GuidePrice
的字段中,
例如,如果我有以下项目:
StockID: 123456
Make: VW
Model: Beetle
YearManufacture: 1975
Price: 2000.00
GuidePrice:
我想根据我以前售出的所有1975款大众甲壳虫的价格来计算一个指导价格。
我想在tblStock
中取出所有1975年大众甲壳虫的平均价格并加10%,然后向上舍入到最接近的500.00并插入GuidePrice
列。
整体计算比这更复杂,但这是我坚持的部分。如果有人能给我一些提示,我会很感激!
编辑: 这有助于获得平均值,但我必须输入每个Make,Model&年 (并在之后完成)
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'
答案 0 :(得分:0)
这样更新特定车型:
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