私はthis previous answerの結果を処理しようとしましたが、何も動作していないようです。私は事実上同じセットアップを持っています、ちょうど異なるタイプのファイルを持っています。MySQL - GROUP_CONCATと結合すると1054エラーが発生する
ファイル表files
id file_name
1 1e462cef-1c2c-4ddf-8b48-0b3002e2101d.nzb
2 303dc268-bf55-49e5-9901-cfbb99b09a69.nzb
3 1297993d-784b-4996-b3b9-9048b068652b.nzb
4 a2cebf3a-b3b1-498e-ad4c-100774ff4b9d.nzb
タグ表tags
id tag_name
1 no.mirrors
2 at.least.one.mirror
3 multiple.mirrors
4 no.mirrors
5 original.deleted
ファイル・タグ関係テーブルfiles__tags
file_id (FK to files.id) tag_id (FK to tags.id)
1 1
1 5
2 1
3 3
3 5
4 4
ようなので、私はいくつかの出力を得るために期待していた:私は、いくつかの他のものを試してみました
SELECT files.file_name, GROUP_CONCAT(files__tags.tag_id) AS associated_tags
FROM files
LEFT OUTER JOIN tags ON files__tags.file_id = files.id
GROUP BY files.file_name;
:私のようなその前の質問の答えから私のクエリを再作成しようとした
file_id file_name tags
1 1e462cef-1c2c-4ddf-8b48-0b3002e2101d.nzb 1,5
2 303dc268-bf55-49e5-9901-cfbb99b09a69.nzb 1
3 1297993d-784b-4996-b3b9-9048b068652b.nzb 3,5
4 a2cebf3a-b3b1-498e-ad4c-100774ff4b9d.nzb 4
質問に答えた人はtag.photo
を参照していますが、これは質問に答えた人が提供する簡略化されたテーブル構造には存在しません。写真とタグに関するテーブルのタイプミスであると思います。
とにかく、私は取得していますエラーは次のとおりです。上記の列の
SQL query:
SELECT files.file_name, GROUP_CONCAT(files__tags.tag_id) AS associated_tags
FROM files
LEFT OUTER JOIN tags ON files__tags.file_id = files.id
GROUP BY files.file_name LIMIT 0, 25
MySQL said:
#1054 - Unknown column 'files__tags.tag_id' in 'field list'
すべてが存在します。
ありがとうございます!
EDIT:私はまた、自分自身でこれらの事のそれぞれを試みたが、エスケープ2つの提案(FROM
にリレーショナルデータベースを追加すると、テーブル/カラム名をエスケープ)
SELECT files.file_name, GROUP_CONCAT(files__tags.tag_id) AS associated_tags
FROM files,files__tags
LEFT OUTER JOIN tags ON `files__tags`.`file_id` = `files`.`id`
GROUP BY files.file_name;
を試してみました文全体のすべての表名/列名。私が手に脱出して
:FROM
で命名files__tags
テーブルで
#1054 - Unknown column 'files__tags.tag_id' in 'field list'
私が手:
#1054 - Unknown column 'files.id' in 'on clause'
EDIT2:OK、解決のための多くのおかげで
SELECT files.file_name, GROUP_CONCAT(files__tags.tag_id) AS associated_tags
FROM files
LEFT JOIN files__tags ON files__tags.file_id =files.id
LEFT OUTER JOIN tags ON tags.id=files__tags.tag_id
GROUP BY files.file_name LIMIT 0, 25
「ファイル__タグ」は何ですか? –
これはファイルとタグを関連付けるテーブルです(上にラベル付けされています) – incorpusyehtee
そのため、そのテーブルは 'JOIN'または' FROM'節で言及する必要があります。 –