使用INNER JOIN在3个表中搜索关键字

时间:2014-05-14 19:02:56

标签: php mysql sql join

我有三张桌子,如:

  • tbl_1 - > {' ID' - '名称' - '价格'}
  • tbl_2 - > {' ID' - '名称' - '价格'}
  • tbl_3 - > {' ID' - '名称' - '价格'}

我想在所有三个表的Keyword字段中搜索name。我该怎么办?

2 个答案:

答案 0 :(得分:0)

使用UNION搜索多个表并返回合并结果:

SELECT `id`, `name`, `price`
FROM `tbl_1` WHERE `name` = 'keyword'
UNION
SELECT `id`, `name`, `price`
FROM `tbl_2` WHERE `name` = 'keyword'
UNION
SELECT `id`, `name`, `price`
FROM `tbl_3` WHERE `name` = 'keyword' 

答案 1 :(得分:0)

为什么有三张表具有相同的内容?只需创建一个表并添加另一个字段'description'或'description_id'。

这应该有用......

SELECT id, name, price FROM tbl_1 WHERE name LIKE '%Keyword%'
UNION
SELECT id, name, price FROM tbl_2 WHERE name LIKE '%Keyword%'
UNION
SELECT id, name, price FROM tbl_3 WHERE name LIKE '%Keyword%'

请注意,如果您要搜索确切的字符串,请在该字段中找到任何字符串。删除'%'。