我试图从查询的这一部分中获得最大的价值:
greatest((follette_title.usedbuying_price *1.37) or
(amtext.price*1.37) or
(nebraska.price *1.2) or
(tichenor.price *1.25))
我的问题是表中有空值,所以这只返回空值。如何在不对所有表运行更新以将空值更改为 0 的情况下解决此问题?
使用COALESCE
功能
例如:
greatest(
COALESCE((follette_title.usedbuying_price *1.37), 0),
COALESCE((amtext.price*1.37), 0),
COALESCE((nebraska.price *1.2), 0),
COALESCE((tichenor.price *1.25), 0)
)
我假设你的意思是:
greatest((follette_title.usedbuying_price *1.37),
(amtext.price*1.37),
(nebraska.price *1.2),
(tichenor.price *1.25)
)
or
在这种情况下没有多大意义。
如果您假设所有价格都大于 0,则可以在以下情况下将它们转换为 0 NULL
:
greatest(coalesce((follette_title.usedbuying_price *1.37, 0),
coalesce((amtext.price*1.37, 0),
coalesce((nebraska.price *1.2, 0),
coalesce(tichenor.price *1.25, 0)
)