我有两个表名称Combine和Product,结合了多个产品并且合并了严格的3个产品,所以我有两个表格如下所示:
Combine | id | name | image | item1 | item2 | item3
1 | exmpl | www.exmpl.com/exmp.jpg | 3 | 2 | 16
Product | id | name | image | stock
2 | productexmpl | www.product.com/product2.jpg | 3
3 | productexmpl2 | www.product.com/product3.jpg | 7
16 | productexmpl3 | www.product.com/product16.jpg | 3
我想得到的是通过组合ID搜索SELECT * FROM Combine Where id = ''
并获取不同行中的产品组合,我尝试过的是与SELECT * FROM Combine as c JOIN Product as p on c.item1 = p.id AND c.item2 = p.id AND c.item3 = p.id
连接的表格,但它水平加入信息我想要的是垂直获取信息,这意味着在不同的行中,如下所示
id | name | image | stock
2 | productexmpl | www.product.com/product2.jpg | 3
3 | productexmpl2 | www.product.com/product3.jpg | 7
16 | productexmpl3 | www.product.com/product16.jpg | 3
我不知道结构是否因设计错误,但感谢任何帮助
谢谢
答案 0 :(得分:1)
您可以尝试此查询:
SELECT p.id, p.name, p.image, p.stock
FROM Combine as c
inner join
Product as p
on (c.item1=p.id or c.item2=p.id or c.item3=p.id)
Where id = ###