Mysql 在多对多数据库设计中使用类似运算符进行选择

Mysql 在多对多数据库设计中使用类似运算符进行选择,mysql,sql,database,select,many-to-many,Mysql,Sql,Database,Select,Many To Many,我需要select的帮助,但在提问之前,我将简要介绍我的系统的工作原理: 我要选择的表具有多对多关系,请参见以下内容: table product: prd_cod(pk) //stores the product code ex: 0,1,2 cat_cod(fk) prd_name //stores the product name, ex: tv, gps, notebook table description_characteristc: prd_cod(fk) id_cha

我需要select的帮助,但在提问之前,我将简要介绍我的系统的工作原理:

我要选择的表具有多对多关系,请参见以下内容:

table product:
prd_cod(pk) //stores the product code ex: 0,1,2
cat_cod(fk) 
prd_name    //stores the product name, ex: tv, gps, notebook

table description_characteristc:
prd_cod(fk) 
id_characteristic(fk)
description //stores the description of the characteristic, ex: sony, 1kg, hj10

table characteristic:
id_characteristic (pk)
name_characteristic //store the name of characteristic, ex: brand, weight, model
我已经在index.php中准备好了,这是一个建议jquery,我键入的每个单词都会调用一个php文件进行选择并返回结果,限制为10,但这表明我在internet上已经准备好了一个,因此它的选择与我的业务规则不匹配,但是我想为这个建议实现一个新的选择

类似“%”的select必须将prd_名称和表描述的所有描述带到“建议”框中。当用户单击时,结果将按参数发送到other.php,但我现在不需要这个

当用户键入“tv”时,选择将产生以下结果:

tv 
tv led
tv plasm
tv samsumg
tv sony
tv samsumg
tv salom
tv sxxxx etc
当用户键入“tv s”时,选择将产生以下结果:

tv 
tv led
tv plasm
tv samsumg
tv sony
tv samsumg
tv salom
tv sxxxx etc

记住prd_name只存储“tv”

试试这个查询,它将两个表连接在一起。where子句的第一部分将减少产品表中的行数,第二部分将匹配相关描述

注意:此查询可能不是特别有效

select p.prd_name, d.description
from product p
    inner join description_characteristc d using (prd_cod)

where _user_input_ like concat(p.prd_name, '%')
  and concat(p.prd_name, ' ', d.description) like concat(_user_input_, '%');

我尝试了一个多星期来做这个选择,但结果是一场灾难,我在巴西的朋友也尝试了,但没有效果,所以我决定在stackoverflow中寻求帮助…我将非常感谢谁能帮助我做这个选择,谢谢大家。。。