我需要连接三个表,这些表是我从数据库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