同一張表我有一個表結構如下:MySQL的內部聯接基於字段值
|id|record_id|key |vale
|1 |2 |email |[email protected]
|2 |2 |name |John
|3 |2 |tel |676776
|4 |3 |email |[email protected]
|5 |3 |name |James
|6 |3 |tel |7676767
|7 |4 |emal |[email protected]
我試圖顯示從同一個表匹配record_id
的「電子郵件」和「名」。
我嘗試過的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>
任何關於我哪裏出錯的想法將不勝感激。
只是爲了澄清幾件事情:1)當引用的列,使用*或者*表別名或完整的表名 - 不能同時使用(這將導致一個語法錯誤)。 2)'INNER JOIN'必須連接'ON',無論被引用的表有什麼共同的列,即'record_id' 3)它可能不會導致語法錯誤,但爲了可讀性和性能,最好只指定需要的列,而不是使用'select *'。 – Leigh
顯示請預期的結果集 – Alex
嗨,我試圖輸出電子郵件和姓名價值 – elixireu