使用数据库中保存的数组连接表以匹配表

时间:2019-04-02 02:59:20

标签: mysql

我需要连接三个表,这些表是我从数据库1-1 | 2-0 | 3-2 | 4-0获得此数据的。分解时,它将是1-1、2-0、3-2、4-0,其中第一个数字是“ addon_id”,第二个数字是“ option_id”,分别用破折号分隔。这是我被告知要处理的数据。

1-1, 2-0, 3-2, 4-0

paired
addon_id - option_id
  1      -     1
so on...

addon_id = (1,2,3,4)
option_id = (1,0,2,0)

table photo_addons
addon_id  addon_name   addon_price
1         test1        123.00
2         test2        456.00
3         test3        125.00
4         test4        112.00

table photo_options
option_id  option_name  option_price
1          opt1         50.00
2          opt2         40.00
3          opt3         35.00


In this next table it is where you will find what options are in each addons:

table option_items
id  addon_id  option_id
1   1         1
2   1         2
3   2         1
4   3         1
5   3         2
6   3         3

结果应如下所示:


addon_name   addon_price   option_name   option_price
test1        123.00        opt1          50.00
test2        456.00                      0.00
test3        125.00        opt2          40.00
test4        112.00                      0.00

这是我到目前为止尝试过的


SELECT pa.addon_name, pa.addon_price, po.option_name, po.option_price
FROM photo_addons as pa 
LEFT OUTER JOIN option_items as oi
ON (oi.addon_id = pa.addon_id AND oi.option_id IN (1,0,2,0))
LEFT JOIN photo_options as po
ON po.option_id = oi.option_id
WHERE pa.addon_id IN (1,2,3,4)

但是,它正在显示不应显示的option_id

0 个答案:

没有答案