2011-08-31 86 views
1

我被要求使用一些MYSQL表创建矩阵数据表。我的问题是如果可以创建这些数据的矩阵视图。从关系数据库表创建矩阵视图

MAIN_TABLE 
    id 
    name 

    [Sample data] 
    1, Nisse 
    2, Joe 

    PROP_TABLE 
    id, 
    key 
    value 

    [Sample data] 
    1, Key1, Value1 
    2, Key2, Value2 

现在有可能使用查询或视图来检索以下结构化数据吗?

ID, NAME, KEY1, KEY2 
    1, Nisse, Value1, null 
    2, Joe, null, Value2 

回答

0
SELECT m.id AS ID, 
     m.name AS NAME, 
     IF (p.key = 'Key1', p.value, NULL) AS KEY1, 
     IF (p.key = 'Key2', p.value, NULL) AS KEY2, 
FROM MAIN_TABLE as m 
LEFT JOIN PROP_TABLE AS p ON p.id = m.id 

(我没有测试它。)