我的值表当前看起来像这样:
| id | row_number | field_name | field_value |
____________________________________________________
| 1 | 1 | Email | aaa |
| 2 | 1 | First Name | bbb |
| 3 | 1 | Last Name | ccc |
| 4 | 2 | Email | ddd |
| 5 | 2 | First Name | eee |
| 6 | 2 | Last Name | fff |
最终,我需要一个会产生如下结果的sql查询:
| row_number | Email | First Name | Last Name |
____________________________________________________
| 1 | aaa | bbb | ccc
| 2 | ddd | eee | fff
但是...
我需要结果来补偿不同数量的列以及是否有不同的值。
我认为,如果 values-table 始终具有包含值“ First Name”,“ Last Name”和“ Email”的行,则产生上表所示的第一个结果将很容易在“字段名称”列中。
不幸的是,这些数据并不总是相同的。有时表中可能有类似以下内容的条目:
| id | row_number | field_name | field_value |
____________________________________________________
| 1 | 1 | ZZZZ | aaa |
| 2 | 1 | XX | bbb |
| 3 | 2 | ZZZZ | ccc |
| 4 | 2 | XX | ddd |
| 5 | 3 | ZZZZ | eee |
| 6 | 4 | XX | fff |
因此,现在,每个唯一的“行号”只有两个“ field_name”(以前只有3个)。不仅如此,“ field_name”值本身也不同于以前的第一个 values-table 表
中的值无论如何,我可以纠正一个mysql查询,该查询将帮助我将行作为列来产生结果,而不管行值是多少还是有多少?