MySQL 内部联接相同 table 基于字段值

MySQL inner join same table based on field value

我有一个table结构如下:

|id|record_id|key    |vale
|1 |2        |email  |xx@xxx.com    
|2 |2        |name   |John    
|3 |2        |tel    |676776    
|4 |3        |email  |tt@rrt.com    
|5 |3        |name   |James    
|6 |3        |tel    |7676767     
|7 |4        |emal   |5656@rtrt.com   

我正在尝试显示与 table 中的 record_id 相匹配的 "email" 和 "name"。

我尝试的 cfquery 如下,但遗憾的是我没有获得任何成功。

<cfquery name="getStatic" datasource="#session.odbcname#">
    SELECT  *
    FROM    field_values n
    INNER JOIN field_values e
    ON e.key
    AND e.field_values.key = 'name'
    WHERE n.field_values.record_id = e.field_values.record_id
</cfquery> 

任何关于我哪里出错的想法都将不胜感激。

试试这个:

select t1.value email, t2.value name
from field_values t1
inner join field_values t2
on t1.record_id = t2.record_id
and t1.key = 'email'
and t2.key = 'name';