MySQL列;在结果集中分成两部分

时间:2013-07-24 15:15:01

标签: mysql

我们有一个我们继承的表结构:

---------------------------------------------
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和。

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