我有两个表Products和Items。
每个产品包含项目关系product_id
产品表:
| id | name |
|---- |----------- |
| 1 | Product 1 |
| 2 | Product 2 |
项目表:
| id | product_id | name |
|---- |------------ |-------- |
| 1 | 1 | Item 1 |
| 2 | 2 | Item 2 |
所以我有搜索表产品的能力:
SELECT * FROM products WHERE name LIKE '%product 1%'
我想要实现的是如果有一个项目匹配返回它的父Product ,也可以在Items表上搜索的能力。
所以如果我搜索项目 1并且它链接到产品 1然后product_id返回产品 1
我试过了 :
(SELECT * FROM products WHERE name LIKE '%product 1%') UNION (SELECT * FROM items WHERE name LIKE '%item 1%')
当搜索关键字匹配时Product 1它返回产品,但如果搜索关键字是Item 1它返回item不是product,我希望在所有情况下只返回products。
我怎样才能做到这一点?
aluckdog
互换的青春
慕桂英546537