我請教這個頁面:http://dev.mysql.com/doc/refman/5.1/en/case.html以及這一個,但不能得到一個簡單的程序工作....MYSQL存儲過程,情況
UPDATE: 要clearify我想做的事:我想選擇表中的所有行,其中的字段id是1,0或者可以是其中任何一個。這是通過一個輸入參數的程序,這需要值指定0,1或2
所以如果_id = 0 I想: SELECT * FROM TABLE其中id = 0
如果_id = 1個I想: SELECT * FROM表其中id = 1
如果_id = 2我想: SELECT * FROM表其中id在(0,1)
我希望我能得到它的休息如果我只有下面的簡單病例陳述才能工作,請自行工作......
我想要做的是一樣的東西:
begin
select * from TABLE where
case _id
when 0 then id=0
else id = 1
end as id
end
這給誤差「你在你的SQL語法錯誤」。
我也試過:
begin
select * from TABLE where
case _id
when 0 then id=0
else id=1
end case
end
這給了同樣的錯誤。顯然我的地方有錯誤的語法,但我無法弄清楚......哪裏有人能幫我解決問題?
感謝, 尼克拉斯
你想做什麼? 'WHERE'用於選擇行,爲什麼你有一個變量賦值呢? – Barmar
如果我正確理解你的問題,你的第一次嘗試是接近。試試'select * from table where id = case _id when 0 then 0 else 1 end'。 –
所以,我想 開始 \t SELECT * FROM表其中id =情況下_if 0時0,然後還有1 結束 主要生產:「MySQL的錯誤號1064 - 你在你的SQL語法錯誤.... .....「 –