我有两列min_price
和min_price
。大多数情况下,min_price
和max_price
是相同的。而不是价格的两个单独的字段,我想只有一个“价格”字段。如果min_price和max_price相同,我想显示该价格。如果min_price
和max_price
不同,那么我想显示一个串联的字符串(min_price
“ - ”max_price
)。这仅适用于表格网格,因此数据类型并不重要。
我会在我的选择中使用IF THEN
语句吗?
select (lots of other stuff), min_price, min_price, (lots more stuff)
不知道从哪里开始。我正在使用MySQL 5.
答案 0 :(得分:1)
你可以像这样使用case语句:
Select case when min_price = max_price then
min_price
else
concat(min_price, '-' , max_price)
end AS Price
from some_table
有关详细信息,请参阅此处: http://dev.mysql.com/doc/refman/5.0/en/control-flow-functions.html
答案 1 :(得分:0)
你走了:
select if(min_price=max_price,min_price,concat(min_price,' - ',max_price)) as price
from your_table;
答案 2 :(得分:0)
SELECT CASE WHEN max_price = min_price then cast(min_price as varchar(31))
ELSE cast(min_price as varchar(15) + '-' + cast(max_price as varchar(15)
END as Pricew
FROm Some_table