我需要執行一個高度依賴於幾個條件的查詢,需要通過分析其他表中的數據來檢查,基本目標是如果其他表中的所有條件都爲真,則從表中返回行,我厭倦了INNER連接LEFT連接和WHERE語句,我需要查找一個表,如果返回的值是1,0或4或一組值,我需要執行其他語句,並基於我需要執行最後一個聲明,這是我的最終結果。我需要知道如何編寫在MySQL中使用和執行查詢等的IF語句和CASE break語句?
儘可能功能的程序而言,我研究了MySQL文檔像地獄和所有它給了我,這是::
DELIMITER $$
CREATE DEFINER=`root`@`localhost` FUNCTION `SimpleCompare`(n INT, m INT) RETURNS varchar(20) CHARSET latin1
BEGIN
DECLARE s VARCHAR(20);
IF n > m THEN SET s = '>';
ELSEIF n = m THEN SET s = '=';
ELSE SET s = '<';
END IF;
SET s = CONCAT(n, ' ', s, ' ', m);
RETURN s;
END
現在,這是如此平淡,我不知道從哪裏開始,我在「returns varchar(20)
」如果我期待它返回一個10行而不是VARCHAR(20)的表,那麼它需要做些什麼,我該如何聲明「DECLARE s VARCHAR(20);
」,如果我希望它是一個表而不是VARCHAR( 20)。
的(n > m)
後的「IF」怎麼我用我自己的查詢, 我這樣做,「THEN SET s = '>'
」如何設置S =查詢結果後更換呢?,這是推動我瘋了語法超出了我的意思,而且文檔沒有解釋任何東西。
在此先感謝