SQL的模糊查詢LIKE問題

2015-07-10 8:50 am
SELECT *
FROM jw
WHERE comadd LIKE %colname% AND jobsort LIKE %col% OR comadd LIKE %colname% OR jobsort LIKE %col%
------------------------------------------------------------------------------------------------------------------
colname跟col是表單變數,colname跟col單獨查詢時都沒有問題,但是colname跟col同時查詢時就是出現多餘的資料,單獨comadd LIKE %colname% AND jobsort LIKE %col%時,colname跟col同時查詢就正常~請問我該如何加入colname跟col的單獨查詢?謝謝~
更新1:

我直接說明我要的東西好了~例如像人力銀行網站,假如他有兩個下拉選單,第一個選單是"地區"第二個選單是"工作類別",兩個下拉選單預設值為空值,當我"單獨"選"地區"查詢或者是單獨選"工作類別查詢"都可以,但是重點:我同時使用下拉式選單查詢"地點"跟"工作類別"~~這樣~我這三種要求如何寫成一句查詢語句?PS:comadd跟col兩個都是表單變數$_POST['comadd']跟$_POST['col'],求明燈~感謝。

回答 (1)

2015-07-17 10:54 pm
✔ 最佳答案

你的邏輯怪怪的!
前面要求了一次comadd LIKE %colname%
後面又OR一次?
不曉得你的需求是怎樣
而且like後面應該是接的是字串,要用單或雙引號刮起來

如果你是要,comadd找到某一字串,而且同時jobsort也要找到某一次串,就只要comadd LIKE '%colname%' AND jobsort LIKE '%col%'
這段就好
如果你指的"單獨查詢"是指comadd要找到某一字串
那就只要WHERE comadd LIKE '%colname%' 這個就好,其他都不要


2015-07-31 11:25:47 補充:
抱歉,沒有再看到你的補充
那就是三種狀況
1.只有選地區
where 地區
2.只有選工作類別
where 工作類別
3.兩個都有選擇
where 地區 AND 工作類別

WHERE 就這三種模式,沒有其他的了(比如說WHERE 地區 AND 工作類別 OR 地區 OR 工作類別 ,這樣邏輯還真的不知道你到底要甚麼)


收錄日期: 2021-05-01 19:27:50
原文連結 [永久失效]:
https://hk.answers.yahoo.com/question/index?qid=20150710000015KK00163

檢視 Wayback Machine 備份