这个逻辑怎么写
1.计款方式 <> '收费' --> 金额=0
2.计款方式 = '收费' --> 金额=公式A
2.1 进出性质.性质名称='样板(收费)A' --> 金额=公式B
2.2 进出性质.性质名称<>'样板(收费)A' -->2.3\2.4
2.3 dbo.客户.下订单 = '-1' --> 金额=公式C
2.4 正品 + 备品 > PO量 --> 金额=公式D
round(CAST(
(CASE WHEN 计款方式 = '收费' THEN
CASE WHEN dbo.客户.下订单 = '-1' THEN
CASE WHEN 正品 + 备品 > PO量 THEN
Case when 进出性质.性质名称='样板(收费)A' then
round(PO量 * CAST(COALESCE (round(dbo.送货单明细.单价,3),0) AS NUMERIC(10, 3)), 3)
ELSE
round((正品 + 备品)* CAST(COALESCE (round(dbo.送货单明细.单价, 3),0) AS NUMERIC(10, 3)), 3)
END ELSE
round((dbo.送货单明细.正品 + 备品)* CAST(COALESCE (round(dbo.送货单明细.单价, 3),0) AS NUMERIC(10, 3)),3)
End else
round(dbo.送货单明细.单价, 3)
END ELSE 0 END)
AS numeric(10, 3)),3) AS 应收金额
这个我写的好像不行
1.计款方式 <> '收费' --> 金额=0
2.计款方式 = '收费' --> 金额=公式A
2.1 进出性质.性质名称='样板(收费)A' --> 金额=公式B
2.2 进出性质.性质名称<>'样板(收费)A' -->2.3\2.4
2.3 dbo.客户.下订单 = '-1' --> 金额=公式C
2.4 正品 + 备品 > PO量 --> 金额=公式D
round(CAST(
(CASE WHEN 计款方式 = '收费' THEN
CASE WHEN dbo.客户.下订单 = '-1' THEN
CASE WHEN 正品 + 备品 > PO量 THEN
Case when 进出性质.性质名称='样板(收费)A' then
round(PO量 * CAST(COALESCE (round(dbo.送货单明细.单价,3),0) AS NUMERIC(10, 3)), 3)
ELSE
round((正品 + 备品)* CAST(COALESCE (round(dbo.送货单明细.单价, 3),0) AS NUMERIC(10, 3)), 3)
END ELSE
round((dbo.送货单明细.正品 + 备品)* CAST(COALESCE (round(dbo.送货单明细.单价, 3),0) AS NUMERIC(10, 3)),3)
End else
round(dbo.送货单明细.单价, 3)
END ELSE 0 END)
AS numeric(10, 3)),3) AS 应收金额
这个我写的好像不行
WHEN 计款方式 = '收费' THEN 公式A
WHEN 进出性质.性质名称='样板(收费)A' THEN 公式B
WHEN 进出性质.性质名称<>'样板(收费)A'THEN 2.3\2.4
WHEN dbo.客户.下订单 = '-1'THEN 公式C
WHEN 正品 + 备品 > PO量 THEN 公式D
END 金额
round(CAST(
(case when 计款方式 = '收费' and 进出性质.性质名称='样板(收费)A' THEN
round(dbo.送货单明细.单价, 3)
WHEN (计款方式 = '收费') and (dbo.客户.下订单 = '-1') and ( 正品 + 备品 > PO量) and (进出性质.性质名称<>'样板(收费)A')THEN
round((正品 + 备品)* CAST(COALESCE (round(dbo.送货单明细.单价, 3),0) AS NUMERIC(10, 3)), 3)
WHEN 计款方式 = '收费' and (dbo.客户.下订单 <> '-1') and (进出性质.性质名称<>'样板(收费)A') THEN
round((dbo.送货单明细.正品 + 备品)* CAST(COALESCE (round(dbo.送货单明细.单价, 3),0) AS NUMERIC(10, 3)),3)
ELSE 0 END)
AS numeric(10, 3)),3) AS 应收金额
好像可以了
case
when 进出性质.性质名称='样板(收费)A' --> 金额=公式B
when dbo.客户.下订单 = '-1' --> 金额=公式C
when 正品 + 备品 > PO量 --> 金额=公式D
end
end
then case
when 进出性质.性质名称='样板(收费)A' --> 金额=公式B
when dbo.客户.下订单 = '-1' --> 金额=公式C
when 正品 + 备品 > PO量 --> 金额=公式D
end
else 0
end