我有2個表,'contacts'和'job_titles'。在「聯繫人」表格中有一個名爲「位置」的字段。如果'position'字段的值與'job_titles'表中的'title'字段類似,並且我已經來到新'job_titles'表,我想更新'contacts'表中名爲'job_title_id'的字段越過障礙。子查詢返回多於一行LIKE&CONCAT與通配符
因爲位置字段是自由文本字段,我們的值可以是:這樣一個公司
而且,我們可能在「標題」字段
- 服務交付經理在 'job_titles' 表中的值,如:
- 服務交付經理
- IT服務交付MANAG呃
- 高級服務交付經理
所以,當我運行下面的查詢,我得到一個「子查詢返回超過1行」的錯誤。
UPDATE contacts SET job_title_id = (SELECT id FROM job_titles WHERE job_titles.title LIKE CONCAT('%', contacts.position, '%') );
有沒有一種方法可以運行通配符查詢,就像我上面會做我所需要的?謝謝。
當存在多行時,您希望返回哪個匹配項? – 2014-11-05 12:49:06
可能是通用值,如服務交付管理器。 – 2014-11-05 12:50:08