使用id搜索查询

时间:2015-09-18 17:03:51

标签: mysql sql

这是我的表格:

部分表:

Part_id name
1       Case
2       Pen
3       Chicken

(表之间)表:

 Part_id product_id
 2       10
 2       10
 3       30

产品表:

 product_id       Name
 10               Phone
 20               Camera
 30               Mouse

我想搜索产品名称并获取产品名称+链接的部件名称。但如果我在零件名称上搜索,我想要获得零件名称和产品名称。

我不知道如何加入表格,但不知道如何预先形成这样的搜索。

Select part.name, product.name 
from part
left join betweentable on part.part_id = betweentable.part_id 

但我不知道如何加入下一张桌子。而不是搜索它。

2 个答案:

答案 0 :(得分:2)

让我看看我是否理解正确...您有一个名称,可能是产品名称或部件名称,并且您想要搜索它,并返回链接的部分(如果它是产品)或链接的产品,如果它是一个部分。

如果您要问的是,可以使用以下查询:

Select part.name, product.name 
from part
left join betweentable on part.part_id = betweentable.part_id 
left join product on product.id = betweentable.product_id
where part.name = <input_name>
union
Select part.name, product.name 
from product
left join betweentable on product.id = betweentable.product_id 
left join part on part.part_id = betweentable.part_id 
where product.name = <input_name>;

&LT; input_name&gt;是你要搜索的名字。

答案 1 :(得分:0)

只需添加其他联接:

Select part.name, product.name 
from part
left join betweentable on part.part_id = betweentable.part_id 
left join product on product.id = betweentable.product_id