我想在nested SELECT
语句中找不到这样的行时返回一条消息。在这种情况下,当连续没有Lake
时,返回消息为“未找到湖泊”。我试过IFNULL
,但是当没有湖泊时它什么也不会返回。
SELECT GROUP_CONCAT(concat_ws(', ', Lake_name,
IFNULL(Area, 'not available'),
IFNULL(Altitude, 'not available'),
IFNULL(Depth, 'not available'),
IFNULL(River_outflow, 'not available')
) SEPARATOR '; ')
From LAKE WHERE IFNULL(Lake_name, 'no lakes found') IN
(SELECT Lake FROM LOCATION where County IN
(SELECT County FROM CITY WHERE City_name='$userinput')) GROUP BY NULL;";
最佳答案
我认为你应该选择这种方式
SELECT CASE when Lake_name is null then 'no lakes found' else
GROUP_CONCAT(concat_ws(', ', Lake_name,
IFNULL(Area, 'not available'),
IFNULL(Altitude, 'not available'),
IFNULL(Depth, 'not available'),
IFNULL(River_outflow, 'not available')
) SEPARATOR '; ') END my_lake
From LAKE
WHERE LAKE_name IN (SELECT Lake_name FROM LOCATION where County IN
(SELECT County FROM CITY WHERE City_name='$userinput'))
OR LAKE_name is null ;
关于mysql - 嵌套SELECT语句mysql中的IFNULL,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40709552/