【发布时间】:2013-10-12 02:24:06
【问题描述】:
我对这个查询感到厌烦。我需要在不同的表中搜索一个单词 结构。我只有一个搜索框,我正在做这三个查询以在不同的地方查找结果。我怎样才能在一个查询中完成所有这些以过滤所有内容????
1) 在这个查询(来自 PHP)中,我使用表“programas_videos”的内连接在表“视频”、名称和表“程序”的描述中搜索单词“$palabra_buscar”
SELECT * FROM videos
INNER JOIN programas_videos ON videos.id_video = programas_videos.id_video
INNER JOIN programas ON programas_videos.id_prog = programas.id_prog
WHERE programas.nombre_prog LIKE "%'.$palabra_buscar.'%"
OR programas.descrip_larga LIKE "%'.$palabra_buscar.'%"
OR videos.descrip_larga LIKE "%'.$palabra_buscar.'%"
GROUP BY videos.id_video DESC LIMIT 10
2) 我有另一个查询,它正在其他表中搜索单词
SELECT * FROM videos
INNER JOIN contenidos1 ON videos.metadata = contenidos1.id_metadata
WHERE contenidos1.Title LIKE "%'.$palabra_buscar.'%"
OR contenidos1.Summary_Short LIKE "%'.$palabra_buscar.'%"
OR contenidos1.Summary_Long LIKE "%'.$palabra_buscar.'%"
OR contenidos1.Genre LIKE "%'.$palabra_buscar.'%" LIMIT 10
3) 和这个查询
SELECT * FROM tableOfContents
WHERE tableOfContents .titulo LIKE "%'.$palabra_buscar.'%"
OR tableOfContents.descripcion LIKE "%'.$palabra_buscar.'%"
OR tableOfContents.categoria LIKE "%'.$palabra_buscar.'%"
GROUP BY tableOfContents.titulo LIMIT 10
【问题讨论】:
-
你能告诉我的列数吗?这 3 个查询是否返回相同数量的具有相同数据类型的列?
-
是的,但名称不同,例如在表 1 中,您有 NAME、TITLE 和 IMAGE。在表 2 中 NAME、TITLESSS 和 IMAGESSSS... 相同,只是名称不同。
-
好的,在这种情况下,我认为您可以使用
union,然后在查询中为列赋予相同的名称。我现在会发布一个答案。 -
谢谢EhsanT,你是老大!!!!