MYSQL 语句或查询从表中 SELECT 全部 WHERE 表的过滤视图不适用

问题描述 投票:0回答:1

我有一个 MYSQL 查询,它根据列值的下拉选择返回表的过滤视图。如果下拉列表与列中的值匹配或者用户选择“显示全部”,我想包含一个选项“返回表格的全部”。像这样的东西: SELECT * FROM mytable WHERE myDropdown = myCol ELSE SELECT * FROM myTable

我尝试了选择查询的一些变体。也许案例陈述会起作用,像这样:

CASE WHEN myDropdown = myCol THEN SELECT * FROM myTable WHERE myDropdown = myCol ELSE SELECT * FROM myTable END


mysql select case
1个回答
0
投票
Mysql 根据逻辑在存储过程中动态构建查询字符串

像下面这样的查询

CREATE DEFINER=`root`@`localhost` PROCEDURE `test`(input VARCHAR(15)) BEGIN SET @input = input; if @input="asc" then SET @sort = " order by ActivityLogKey asc"; elseif @input = "desc" then SET @sort = " order by ActivityLogKey desc"; else SET @sort =""; end if; SET @query = CONCAT('select * from activitylog ',@sort,' limit 0, 5'); PREPARE stmt FROM @query; EXECUTE stmt; DEALLOCATE PREPARE stmt; END

© www.soinside.com 2019 - 2024. All rights reserved.