我有一个表具有不同的行,每行有相同项目的不同键。我想创建一个mySQL查询,将不同的键作为列放入一个新表中。 原始表:有多个键的表的mySQL查询
id locale key value
1 en description Great trip around cordoba's jklfjklfsjfdsk sdjk ds...
1 en highlights_1 horse back riding
1 en highlights_2 Asado
1 en highlights_3 Free drinks
要求的结果:
id description highlights_1 highlights_2 highlights_3 ...
1 Great trip ar... horse back riding Asado Free drinks
我所做的查询(并让我只需一个键/列的新表...)
SELECT activity.id,
activity_multilingual_fields_text.value AS activitydescription
FROM activity
LEFT JOIN activity_multilingual_fields_text ON activity_multilingual_fields_text.id = activity.id AND activity_multilingual_fields_text.locale = "en"
GROUP BY activity.id
我会感谢您的帮助!
W8ing一些好的灵魂格式化这个问题。 – Guerra
这被称为“数据透视查询”。你知道key的可能值的确切数量,还是动态的?如果是动态的,则必须在应用程序代码或存储过程中创建动态SQL语句。无论哪种方式,在这里解决这个问题都有很多答案。 –
@Milen Pavlov感谢您的编辑......不知道这里的风格,我试图添加图片,但还没有足够的声望点:-( – JNewbie