[英]Cant use column label value in "MAX(CASE WHEN value ='first_name' THEN value END) as 'Förnamn'
我希望使用的表中的列名是“值”,但是在 MySql 中它變成了 MySql 命令。 列名“slug”工作得很好。 我無法控制列名,所以我無法將其更改為源表。
有沒有辦法使用價值而不是 og slug?
MAX(CASE WHEN **value** ='first_name' THEN value END) as 'Förnamn',
ID---+---EntryID---+--- slug---+---value---
1 1 first_name Luke
2 1 lastname Skywalker
3 1 profession Jedi
SELECT entry_id,
MAX(CASE WHEN slug ='first_name' THEN slug END) as 'Förnamn',
MAX(CASE WHEN slug ='last_name' THEN slug END) as 'hej',
MAX(CASE WHEN slug ='email_address' THEN slug END) as 'E-post'
FROM wpgl_cf_form_entry_values
GROUP BY entry_id
好像你只想要條件聚合,就像這樣
SELECT entry_id,
MAX(CASE WHEN slug ='first_name' THEN value END) as `Förnamn`,
MAX(CASE WHEN slug ='last_name' THEN value END) as `hej`,
MAX(CASE WHEN slug ='email_address' THEN value END) as `E-post`
FROM wpgl_cf_form_entry_values
GROUP BY entry_id
注意:不要使用單引號作為標識符:這些應該只為文字字符串保留。 MySQL 使用反引號作為標識符(盡管一般來說,我建議使用不需要引用的標識符)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.