嵌套查詢我想使用MySQL查詢像這樣:爲全球整體選擇
SELECT * FROM COUNTRY_TABLE WHERE COUNTRY='INDIA'
它提供了包含國家如印度,但是當國家印度不存在於表中,那麼它應該給數據結果結果爲全球或全部結果在單個查詢。
嵌套查詢我想使用MySQL查詢像這樣:爲全球整體選擇
SELECT * FROM COUNTRY_TABLE WHERE COUNTRY='INDIA'
它提供了包含國家如印度,但是當國家印度不存在於表中,那麼它應該給數據結果結果爲全球或全部結果在單個查詢。
Set @param = null;
SELECT *
FROM your_table
WHERE country = CASE
WHEN @param IS NULL THEN country
ELSE @param
END;
在看到它的SQL小提琴工作:http://www.sqlfiddle.com/#!2/da2d82/2
另一種解決方案:
SELECT *
FROM your_table
WHERE country = COALESCE(@param, country);
嘗試這樣
DROP PROCEDURE IF EXISTS ConditionalSelect;
DELIMITER $$
CREATE PROCEDURE `ConditionalSelect`()
BEGIN
SELECT COUNT(*) INTO @varCount FROM Country WHERE `name` = 'India';
IF @varCount >=1 THEN
SELECT * FROM Country WHERE `name` = 'India';
ELSE
SELECT * FROM Country;
END IF;
END$$
DELIMITER ;
@Gone你可以給我舉例 – Swapnil