MySQL使用过程获取多行和多列

时间:2019-12-03 02:37:15

标签: mysql

下面的查询应该从数据库返回具有多行和多列的数据,而无需使用mysql中的过程

我的代码:

SELECT CASE WHEN @country_count < 8 THEN
    (SELECT * FROM country where country_id =1)
ELSE
    (SELECT * FROM country where country_id > 1)
END;

1 个答案:

答案 0 :(得分:0)

您不能使用SELECT *作为表达式-当子查询用作表达式时,它必须返回一行和一列。

您应将@country_count的测试放在WHERE子句中:

SELECT *
FROM country
WHERE CASE WHEN country_count < 8
        THEN country_id = 1
        ELSE country_id > 1
    END