gpt4 book ai didi

MySQL根据条件执行SELECT

转载 作者:行者123 更新时间:2023-11-29 05:02:25 28 4
gpt4 key购买 nike

如何正确使用 CASE 来根据用户输入执行 SELECT 查询?

在执行以下查询时:

SELECT 
CASE WHEN user_input_variable = 'y' THEN
(SELECT * FROM table_foo WHERE bar = '6f322766-0ec0-4d24-840f-c857a82a6efe')

ELSE
(SELECT 0)
END

如果用户选择了“y”,那么它应该从表中返回记录,否则它应该返回一个空结果集。

我收到错误:

Operand should contain 1 column(s)

最佳答案

子查询必须返回不超过 1 列。改为执行 UNION ALL。

注意列数必须相同,这就是为什么你需要在第二次选择时选择空值。

SELECT * FROM table_foo WHERE bar = '6f322766-0ec0-4d24-840f-c857a82a6efe')
and user_input_variable = 'y'
union all
SELECT 0, null, null... where user_input_variable <> 'y'

关于MySQL根据条件执行SELECT,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55709227/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com