我有一个数量(整数)字段和一个名字(字符串)字段。如何仅将产品C除以3以返回新数量值?我将错误地将字符串和整数类型与我尝试的所有内容混合起来。
Name Quantity New Quantity
Product A 5 5
Product B 35 35
Product C 27 9
以下是我正在使用的查询:
SELECT
chg.name
, sim.Description
, loc.location_name
, Service_Date = CONVERT(DATE, chg.begin_date_of_service)
, sim.Service_Type
, sim.Visit_Type
, sim.Contraceptive_Type
, sim.Lab_Type
, sim.Immunization_Type
, chg.quantity
FROM
charges chg
INNER JOIN PPMNS_Service_Item_Info sim ON chg.name = sim.name
AND chg.begin_date_of_service BETWEEN sim.SIM_Eff_Date AND sim.SIM_Exp_Date
AND ((chg.begin_date_of_service BETWEEN sim.Billing_NDC_Eff_Date AND sim.Billing_NDC_Exp_Date) OR sim.Billing_NDC_Eff_Date = '')
INNER JOIN location_mstr loc ON chg.location_id = loc.location_id
WHERE
chg.link_id IS NULL
AND sim.Visit_Rank < 50
答案 0 :(得分:0)
这实际上并不是非常难以做到的。从您的标签判断,您很可能在SQL程序中执行此操作,例如Razor或任何类型的程序。
Select Quantity, (Quantity / 3)
From table
where name = "PRODUCT C"
这应该就是它的全部内容。
答案 1 :(得分:0)
如果我理解正确,你会使用view2
声明:
case
请注意,如果两个操作数都是整数,则SQL Server会执行整数除法。如果select . . .
(case when name = 'PRODUCT C' then chg.quantity / 3 else chg.quantity
end) as quantity
. . .
是一个整数而你想要小数位,那么你可以除以quantity
而不是3.0
。
答案 2 :(得分:0)
如果您使用的是SQL Server 2012或更高版本,则可以将以下列添加到Select语句
iif(名称='PRODUCT C',数量/ 3.0,数量)newQuantity