我如何将选择查询中的连接值保留为表格?

时间:2012-12-26 15:38:03

标签: php mysql sql join left-join

我有sql查询从多表中选择值。

我使用了左连接,但我遇到了问题。

我想离开加入另一个表,但问题是这个表名是关于同一查询中列的值。

这是查询:

SELECT tags_assign.*,COUNT(*) AS total from tags_assign
  LEFT JOIN tags ON tags.id = tags_assign.tags_id 
  LEFT JOIN tags_assign.module module ON module.id = tags_assign.module_id 
  WHERE tags.name = 'music theory';

执行此查询时,会出现此错误:

  

对用户'jason'@'62.100.08.01'的SELECT命令被拒绝了   'module'compam database_tags_assign.sql

那我该怎么解决这个问题呢?

2 个答案:

答案 0 :(得分:0)

您通过身份验证的用户(您传递给connect函数的用户)没有来自该数据库或表的SELECT权限。您需要进入控制面板并授权用户名来执行此操作,或者您使用了错误的用户名/密码。

答案 1 :(得分:0)

我的猜测是所有表都在同一个数据库中并且查询中存在拼写错误:

SELECT tags_assign.*,COUNT(*) AS total from tags_assign
  LEFT JOIN tags ON tags.id = tags_assign.tags_id 
  LEFT JOIN tags_assign module ON module.id = tags_assign.module_id 
  WHERE tags.name = 'music theory'

也就是说,而不是tags_assign.module module只使用tags_assign module。我的猜测是没有tags_assign数据库。