1
我有一个存储的过程,搜索像波纹管:搜索数组元素
BEGIN
#At first, Search in name of job:
(SELECT * FROM tb_job WHERE `name` LIKE '%some%' AND `name` LIKE '%thing%')
UNION
# second, search for tags:
(SELECT * FROM tb_job WHERE id IN
(
SELECT idJob FROM
(
(SELECT 2 AS priority1, COUNT(tb_job_tag.idTag) AS priority2, idJob FROM tb_job_tag WHERE idTag IN
(SELECT tb_tag.id FROM tb_tag WHERE tag LIKE '%some%' OR tag LIKE '%thing%')
GROUP BY tb_job_tag.idJob)
UNION
(SELECT 1, COUNT(tb_job_tag.idTag), idJob FROM tb_job_tag WHERE idTag IN
(SELECT tb_tag.id FROM tb_tag WHERE tag LIKE '%some%' AND tag LIKE '%thing%')
GROUP BY tb_job_tag.idJob)
)
AS t ORDER BY priority1, priority2 DESC
)
)
END
现在我有2个问题:如何传递字的阵列,并将它们在MySQL分离并在LIKE
使用它们?第二,我如何使这个搜索更好?
(我有3table:tb_job,tb_tag,tb_job_tag存储作业的ID和标签的ID)。谢谢你的帮助。
感谢。但我的问题不是分裂一个短语,实际上是访问我的SELECT查询中的每个分离的项目。 – Highlan
@Highlan检查出第二个查询,它按照您的要求执行相同操作。 –