这是我的表格:
部分表:
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
但我不知道如何加入下一张桌子。而不是搜索它。
答案 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