此查询可能有JOIN

时间:2009-03-29 17:48:26

标签: php mysql

我有这个问题:

$sql = "SELECT 
      updates.u_id AS u_id,
      updates.date_submitted AS date_submitted,
      updates.deadline AS deadline,
      updates.description AS description,
      updates.priority AS priority,
      pages.page_name AS page_name,
      clients.fname AS fname,
      clients.lname AS lname,
      projects.p_url AS p_url,
      projects.p_title AS p_title
      FROM updates
      INNER JOIN projects ON updates.p_id = projects.p_id
      INNER JOIN clients  ON projects.c_id  = clients.c_id
      INNER JOIN pages    ON updates.page  = pages.page
      LEFT JOIN admin ON updates.a_id = admin.a_id
      WHERE u_id='$id' LIMIT 1";

给我一​​个问题的部分是:

      INNER JOIN pages    ON updates.page  = pages.page

我正在使用此查询来显示某个项目的更新信息。我将页面存储在表PAGES中,当客户端提交更新时,他们可以选择他们想要更新的页面。

我在我的UPDATE表中有这个:在我的一行中存储为INT的updates.page是“1”

在我的PAGES表中,我有:pages.page_id,它与:updates.page

相同

知道我可以用我的查询来解决这个问题吗?

ERROR:

'on clause'

中的未知列'pages.page'

3 个答案:

答案 0 :(得分:3)

尝试将其更改为:

INNER JOIN pages    ON updates.page  = pages.page_id

答案 1 :(得分:2)

您自己告诉我们 - 页面中的关键列是pages.page_id,而不是您在加入时使用的pages.page。

答案 2 :(得分:1)

尝试使用pages.page_id

替换pages.page