我有这种情况的数据库:
餐桌酒店 -----> 餐桌酒店价格
餐桌酒店:
hotel_id | hotel_name |
1 hotel1
2 hotel2
表酒店价格
price_id | hotel_id | room_type | single | Double | extra |
1 1 superior 5 10 20
2 1 deluxe 3 5 10
我会显示从hotel1开始的最低价格
来自“最低价值”的酒店 1 星
我试过这个但没用
$query = ("SELECT LEAST(COL1,COL2,COL3) FROM rug WHERE COL1 != '' AND COL2!= '' AND COL3 != ''");
$result=mysql_query($query);
if (!$result) {
die('Invalid query: ' . mysql_error());}
$num=mysql_numrows($result);
$i=0;
while ($i < $num)
{
$pricing[$i]=mysql_result($result, $i);
$i++;
}
sort($pricing);
$lowest_price = $pricing[0]; //lowest price
感谢雷蒙德的回答,这几乎是正确的
select
*
, least(single, `double`, extra) as lowest_price
from hotel_price
where
hotel_id = 1
order by
lowest_price
;
这将在酒店价格表中显示最低价格列
PRICE_ID HOTEL_ID ROOM_TYPE SINGLE DOUBLE EXTRA HOTEL_NAME LOWEST_PRICE 2 1 deluxe 3 5 10 hotel1 3 1 1 Superior 5 10 20 hotel1 5
但我只想从最低价格列中显示一个最低价格
最小的是3
有什么想法吗?谢谢!