我创建了一个有效的SQL查询,但是很难看。我正在使用以下语句:

CASE WHEN p.Guests is null THEN 0 ELSE p.Guests

在查询中完成大约10次某些计算后,我想知道是否可以执行以下操作:
variable = CASE WHEN p.Guests is null THEN 0 ELSE p.Guests

然后代替123 * (CASE WHEN p.Guests is null THEN 0 ELSE p.Guests)我可以做123 * variable。 p.Guests是参加 Activity 的来宾人数,它根据查询中的每一行而变化。
所以我的问题是:有没有办法在SQL中制作这样的变量?

最佳答案

当有以下情况时,无需冗长的案例说明

ISNULL(p.Guests, 0)

http://msdn.microsoft.com/en-us/library/ms184325.aspx

关于sql - 清理SQL代码,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17414648/

10-09 06:56