我们有一个我们继承的表结构:
---------------------------------------------
option_id title option_type_id(FK)
---------------------------------------------
1 Option1 1
2 Option2 1
3 Option3 2
4 Option4 2
5 Option5 3
上表是系统中可用的“选项”集。
---------------------------------------------
map_id item_id option_id(FK)
---------------------------------------------
1 16378 1
2 16378 4
3 87680 2
4 87680 3
5 87680 5
底部表格有一个指向顶部表格的外键链接,用于映射每个项目附带的所有“选项”。
问题在于我们理想地希望显示每个选项的数据集拆分,如下所示:
-----------------------------------------------
item_id option_type_1 option_type2
-----------------------------------------------
87680 Option2 Option3
有人可以帮忙吗?我已经尝试过INNER JOIN和LEFT OUTER JOIN,但似乎没有任何东西可以覆盖所有可能性。在这种特殊情况下,我们只关注结果集的option_types 1和。
答案 0 :(得分:0)
如果你感兴趣的话是选项1&选项2然后:
select item_id, o1.title, o2.title
from itemtable as IT
left join optiontable as O1 on it.option_id = o1.option_id and option_type_id = 1
left join optiontable as O2 on it.option_id = o1.option_id and option_type_id = 2