我有一个 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
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