带有多个表的MySQL查询,用于自动完成

时间:2013-06-26 08:00:40

标签: mysql sql

我有一些用于jQuery自动完成的SQL代码。此时,有一个查询获取产品的名称:

SELECT DISTINCT name AS name
FROM products_names
WHERE (name LIKE '%$q%' AND language_code = 'pl')
  OR (name2 LIKE '%$q%' AND language_code = 'pl')

它工作正常,但在输入搜索时,它还会显示已禁用的产品的名称。

有关产品是处于活动状态还是已禁用的信息保存在status表的products列中。

我需要有一个与上面相同的查询,并且只有在status值为0的情况下才显示产品名称。

products_names有一个存储产品ID的字段id_product;表products将其存储在id

你能给我一个这样一个问题的例子吗?

1 个答案:

答案 0 :(得分:0)

SELECT DISTINCT name AS name 
FROM products_names A JOIN products B ON A.id_product = B.id 
WHERE ((name LIKE '%$q%' AND language_code = 'pl') OR (name2 LIKE '%$q%' AND language_code = 'pl')) AND status = 0