C# 如何在sql查询中动态添加默认常量

C# 如何在sql查询中动态添加默认常量,c#,sql,sql-server,asp-classic,C#,Sql,Sql Server,Asp Classic,我正在写一个查询,因为我正在做两列的求和。 有时,“amount”列为null,所以它会向我返回null 但是如果我的amount列为null,那么我希望它为零 注意:--当我第一次计算表中不存在总和数据时,我无法将默认约束添加到存在金额列的表中 所以我想动态地向该列添加默认约束 如何做到这一点 这是我的问题 select sum((ism.selling_price * som.quantity) + (((tm.tax_amount*(ism.selling_price * som.qua

我正在写一个查询,因为我正在做两列的求和。 有时,“amount”列为null,所以它会向我返回null

但是如果我的amount列为null,那么我希望它为零

注意:--当我第一次计算表中不存在总和数据时,我无法将默认约束添加到存在金额列的表中

所以我想动态地向该列添加默认约束

如何做到这一点

这是我的问题

select 
sum((ism.selling_price * som.quantity) + (((tm.tax_amount*(ism.selling_price * som.quantity))/100))) as Amnt,
(sum((ism.selling_price * som.quantity) + (((tm.tax_amount*(ism.selling_price * som.quantity))/100))) - sum(amount)) as total,
sm.sell_order_no, 
r.retailer_id,
r.business_name 
from RS_Sell_Order_Master as SM 
left outer join RS_Sell_Order_Mapping as SOM on SOM.sell_order_no = sm.sell_order_no 
left outer join RS_Receipt_Master as RM on rm.sales_order = sm.sell_order_no 
left outer join RS_Relationship_Master as R on r.retailer_id = sm.retailer_id
left outer join RS_Inventory_Master as Im on im.product_id = som.product_id
left outer join RS_Inventory_Selling_Master as Ism on ism.product_code = im.product_code
left outer join RS_Sells_Invoice_Info_Master as SIIM on siim.selling_product_id = ism.selling_product_id
left outer join RS_Tax_Master as tm on tm.tax_id = siim.tax_id
where r.retailer_id = 24
group by sm.sell_order_no,r.retailer_id,r.business_name
having (sum((ism.selling_price * som.quantity) + (((tm.tax_amount*(ism.selling_price * som.quantity))/100))) - sum(amount)) > 0  

isnull
,即:

...sum(isnull(amount,0))...

其他有用的相关函数有
nullif
coalesce

如果为null,则该函数将为0

ISNULL(SUM(COLUMN),0)

是的,你可以在MSDN上的这篇文章中读到,马克先生,非常感谢你宝贵的时间。我赞赏你的努力。它可以工作,他们可以帮助我为相同的查询,但子查询错误,我已恢复您的编辑;请不要改变问题的全部性质,因为这会导致任何答案和评论不正确。如果你有第二个问题:问第二个问题,但你能告诉我如何使用子查询来满足这个要求吗?这不是一个明确的问题;要使用子查询,只需编写一个子查询