2つのSQLテーブルがありますテーブル名:エージェント には、列のAgentIDを持つレコードが含まれています
次の名前のテーブル:vacanciesは、データが表示されているテーブルです。vacanciesという名前のテーブルにはvacancies.Agentsがあり、これに類似した値が含まれています
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のagents.AgentIDに対応する値を含むレコードのみを返すクエリを実行したいと思います。これはこれまでのクエリですが、返されるのは、vacancies.Agentsに複数の値がないレコードだけです。
たとえば、検索対象の値がAgent3の場合、行3のみを返す代わりに、行1、3、および4を返す必要があります。
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)
これはどのように解決できますか?