Определить запрашиваемое поле с помощью - PullRequest
2 голосов
/ 05 декабря 2010

Я использую функцию mysql GREATEST () для выбора наибольшего целочисленного значения из любого столбца (яблоки или персики).

+----+------------------+
| id | apples | peaches |
+----+------------------+
|  1 |    8   |    4    |
|  2 |    2   |    6    |
|  3 |    3   |    9    |
|  4 |    7   |    2    |
|  5 |    4   |    4    |
+----+------------------+

Использование $result = "SELECT GREATEST(apples, peaches) FROM table"; и echo $result, Я получаю:

8
6
9
7

Рядом с каждым значением я хочу отобразить название соответствующего фрукта и значок фрукта.Как получить изображение ниже с помощью запроса MYSQL?

alt text

Также обратите внимание, что равные значения не отображаются функцией GREATEST().Есть ли способ отобразить одинаковое значение?

1 Ответ

4 голосов
/ 05 декабря 2010
SELECT 
IF(apples >= peaches, apples, peaches) AS quantity,
IF(apples >= peaches, 'apples', 'peaches') AS fruit
FROM ...

или, если вы не хотите, чтобы яблоки были по умолчанию равными и хотите знать, когда оба плода представлены одинаково:

SELECT 
IF(apples >= peaches, apples, peaches) AS quantity,
CASE WHEN apples > peaches THEN 'apples' WHEN peaches > apples THEN 'apples' ELSE 'both' END AS fruit
FROM ...
...