2017-04-04 126 views
0

我有兩個SQL語句一年的條件。現在我試圖從這個條件中選擇其中一個,但我無法處理。我想要的結果的僞代碼是這樣的;如何選擇兩個SQL語句之一,如果條件

begin 
if p_year<2016 
then 
select ..... 
else 
select ..... 
end if 
+0

是彼此相似的兩個選擇? – jarlh

+0

您的意思是:'SELECT CASE WHEN p_year <2016 THEN'x'ELSE'y'END FROM your_table'? –

+0

感謝您的回答。是的,他們給出了完全相同的結果:一個名稱和一個值。 – mesopotamia

回答

4

使用UNION ALL和兩個相互排斥的過濾器在WHERE條款:

SELECT name, value 
FROM table1 
WHERE p_year < 2016 
UNION ALL 
SELECT name, value 
FROM table2 
WHERE p_year >= 2016 
+0

感謝您的回答,它爲我工作,但我想問知道是否有任何方法來實現我想要的(不是工會選擇條件選擇語句之一) – mesopotamia

+0

有沒有辦法執行IF/ELSE到在SQL中運行不同的查詢。有這樣做的方法,但他們需要存儲過程或其他程序化干預 – APC