我有2個SQL表 表名:代理包含一個coloumn一個記錄AGENTIDMySQL查詢搜索所有記錄對場逗號分隔值
表命名爲:空缺是一個與數據正在顯示。 表命名空缺具有包含值simmilar這個
VacanyID Company position CTC Candidates Agents
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
FBVAC001 | HDFC | Branch Manager | 4.5 | FBCAN001,FBCAN002| Agent3,Agent4
FBVAC003 | TBNH | Branch Manager | 4.5 | FBCAN004,FBCAN005| Agent2,Agent4
FBVAC005 | MMNT | Branch Manager | 4.5 | FBCAN008,FBCAN006| Agent3
FBVAC008 | LCFC | Branch Manager | 4.5 | FBCAN009,FBCAN023| Agent3,Agent4
FBVAC008 | KOTC | Branch Manager | 4.5 | FBCAN009,FBCAN023| Agent5,Agent4
我想運行一個查詢,將返回只有那些包含從表名代理相當於agents.AgentID該值的記錄vacancies.Agents。這是目前爲止的查詢,但它所反轉的是那些空位中沒有超過一個值的記錄。例如,如果正在搜索的值是Agent3,則它應該返回行1,3和4,而不是返回第3行。
SELECT
vacancies.VacancyID,
vacancies.Company,
vacancies.`Position`,
vacancies.CTC,
vacancies.Candidates,
vacancies.Agents
FROM vacancies
, agents
WHERE (FIND_IN_SET(vacancies.Agents,agents.AgentID) <> 0)
這怎麼解決?
我倒過來試了一下,但它只是顯示了所有的行以及每行的重複項。 – 2012-04-12 13:59:10
如果你只想要'Agent3',你還需要搜索那個'和AgentID ='Agent3''。查看我對該帖子的更新。 – mellamokb 2012-04-12 14:00:57
我提到了agent3作爲一個運行時的例子。我實際上想根據表代理中的列AgentID進行檢查。 – 2012-04-12 14:02:39