5 が 2 より大きい場合は * を選択し、false の場合は特定の列を選択します。どこが間違っていますか?
SELECT IF(5>2, *, column_x),
CASE whereheard_name WHEN 'Newspaper' THEN 'a'
WHEN 'TV' THEN 'b'
WHEN 'Internet' THEN 'c'
ELSE '-'
END
AS result
FROM whereheard;
上記への回答ありがとうございます。私が使用している次のストアド プロシージャの例を次に示します。
DELIMITER $$
USE `registration`$$
DROP PROCEDURE IF EXISTS `test2`$$
CREATE DEFINER=`root`@`localhost` PROCEDURE `test2`()
BEGIN
IF(5>2) THEN
SELECT * FROM whereheard;
ELSE
SELECT whereheard_name FROM whereheard;
END IF;
END$$
DELIMITER ;
これは私がそれを呼んだ方法です:
CALL test2(),
CASE whereheard_name WHEN 'Newspaper' THEN 'a'
WHEN 'TV' THEN 'b'
WHEN 'Internet' THEN 'c'
ELSE '-'
END
AS result
FROM whereheard;
これのどこが間違っているのですか?