我想做一個SQL查詢l 但我如何執行一個SQL SELECT語句中的IF ... THEN,如:「 select table1 table2 table2 where if(name像然後命名就好了)其他名稱,如b」MYSQL如果不喜歡,就像B
回答
可以使用OR
運營商,連接兩個布爾條款:
WHERE name LIKE ...
OR name LIKE ...
注意OR
比AND
優先級高,所以如果你想結合其他限制,你需要使用圓括號;例如:
WHERE (name LIKE '%a%' OR name LIKE '%b%')
AND id < 1000
SQL是不是一種編程語言,它沒有如果,那麼,否則等,如果所需要的條件,可以在設定的操作,例如,表達和或者你可以做到這一點。
否則,您需要編寫一個存儲過程,存儲函數或存儲例程。請參閱http://dev.mysql.com/doc/refman/5.1/en/stored-routines.html,這將允許您編寫程序代碼。設定的操作通常要快得多。
MySQL支持IF
語句和CASE
語句。嘗試是這樣的假設a和b是在你的表和名稱的一個列在你的其他表中的列:
select name
from table1,table2
where name like
case
when name like a
then a
else b
end
和一些示例小提琴:http://sqlfiddle.com/#!2/c6ce6/1
您可能想要使用「% '用你的LIKE查詢 - 如果是的話,CONCAT相應。如果需要,這個相同的邏輯可以與字符串值一起使用。
請張貼您的表格結構,樣本數據和所需的輸出,以便我們可以完全理解您的問題,並提供最佳答案。
非常感謝它的工作^^ – 2013-02-19 18:00:31
@KhoaTrumcuoi - np,很高興我們可以幫助!順便說一句 - 如果任何答案對您有幫助,請考慮將其標記爲已接受,以便該網站的未來用戶知道您的問題已得到解決。祝你好運! – sgeddes 2013-02-19 18:52:19
sorr,但我不知道明白你的意思是如何「標記他們接受」bescase我只是一個新手^^ sorr – 2013-02-20 07:20:27
曾經試過mysql存儲過程http://www.mysqltutorial.org/getting-started-with-mysql-stored-procedures.aspx?
而且你可能要檢查了這一點:using "if" and "else" Stored Procedures MySQL
希望這有助於! :)
^^謝謝4您的幫助^^ – 2013-02-20 07:21:22
- 1. mySQL喜歡,但不喜歡
- 2. 優化mysql查詢(喜歡/不喜歡)
- 3. 喜歡/不喜歡系統像FB
- 4. 如何顯示喜歡/不喜歡的MySQL,NodeJS
- 5. Mysql喜歡或喜歡的地方
- 6. SQL不喜歡和喜歡
- 7. 喜歡但不喜歡
- 8. MySQL不喜歡查詢
- 9. mysql多個或不喜歡
- 10. 不喜歡mysql查詢
- 11. 查詢一個喜歡B,B喜歡C,分離的兩個自由度
- 12. 不喜歡,也不喜歡相反的結果
- 13. 「像」,「不喜歡」插件軌
- 14. MySQL喜歡反轉
- 15. 簡單喜歡/不喜歡評級系統在PHP和MySQL
- 16. MySQL喜歡查詢但不喜歡其他
- 17. mysql不喜歡不行不通
- 18. 像系統檢查,如果用戶喜歡/不象按鈕
- 19. 計數喜歡不喜歡和點擊
- 20. Jquery ajax喜歡和不喜歡按鈕
- 21. 喜歡不喜歡功能AJAX
- 22. 喜歡和不喜歡在同一列
- 23. 喜歡/不喜歡發行系統
- 24. 製作Youtube喜歡/不喜歡Bot
- 25. 喜歡/不喜歡Firebase的交易?
- 26. SQl性能b/w喜歡和修剪
- 27. 不喜歡的MySQL不工作和Rails
- 28. Oracle不喜歡
- 29. 讓我喜歡的類型的工作就像一個列表
- 30. Joomla 1.5。如何在視頻/圖像上添加「喜歡/不喜歡」按鈕?
我不能使用「或」,因爲我不能選擇a和b只是只有a或b – 2013-02-19 18:01:39
我想查詢可以檢查完全爲空例如:select a where case when a like% b%然後像%b%else(如果在搜索表的每一行後仍然返回null)類似於%c%(如果在任何行中匹配skip else語句)能否幫助我 – 2013-02-19 18:15:20