0

マルチテーブルから値を選択するSQLクエリがあります。

left join を使用しましたが、問題があります。

別のテーブルに参加したいのですが、問題は、このテーブル名が同じクエリの列の値に関するものであることです。

これはクエリです:

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';

このクエリを実行すると、次のエラーが表示されます。

テーブル 'module' database_tags_assign.sql のユーザー 'jason'@'62.100.08.01' に対する SELECT コマンドが拒否されました

では、どうすればこの問題を解決できますか?

4

2 に答える 2

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 データベースはありません。

于 2012-12-26T17:19:59.280 に答える
0

認証されたユーザー (関数に渡したユーザー) には、そのデータベースまたはテーブルからのconnect権限がありません。SELECTコントロール パネルに移動し、ユーザー名を承認する必要があります。または、間違ったユーザー名/パスワードを使用しています。

于 2012-12-26T15:40:53.493 に答える