下面的查询应该从数据库返回具有多行和多列的数据,而无需使用mysql中的过程
我的代码:
SELECT CASE WHEN @country_count < 8 THEN
(SELECT * FROM country where country_id =1)
ELSE
(SELECT * FROM country where country_id > 1)
END;
答案 0 :(得分:0)
您不能使用SELECT *
作为表达式-当子查询用作表达式时,它必须返回一行和一列。
您应将@country_count
的测试放在WHERE
子句中:
SELECT *
FROM country
WHERE CASE WHEN country_count < 8
THEN country_id = 1
ELSE country_id > 1
END