MySQL sous-Requête d'erreur: SQLSTATE[42S21]: Colonne existe déjà: 1060 Double nom de colonne 'id'
J'ai du mal à obtenir la MySQL déclaration de travaux.
SELECT ItemGroup.users_id,ItemGroup.comments_id,ItemGroup.uploads_id,ItemGroup.posts_id,
Comment.id,Comment.uploads_id,
CommentUpload.id,
Upload.id,
Post.id
FROM items AS ItemGroup
LEFT JOIN (
SELECT Comment.id, Comment.uploads_id, CommentUpload.id, CommentUpload.uuid
FROM comments As Comment
INNER JOIN (
SELECT CommentUpload.id, CommentUpload.uuid
FROM uploads AS CommentUpload
) CommentUpload ON CommentUpload.id = Comment.uploads_id
GROUP BY Comment.uploads_id
) Comment ON Comment.id = ItemGroup.comments_id
LEFT JOIN (
SELECT Upload.id
FROM uploads AS Upload
) Upload ON Upload.id = ItemGroup.uploads_id
LEFT JOIN (
SELECT Post.id
FROM posts AS Post
) Post ON Post.id = ItemGroup.posts_id
WHERE ItemGroup.users_id = {$__cakeID__$}
AND (
Comment.id IS NOT NULL
OR Upload.id IS NOT NULL
OR Post.id IS NOT NULL
)
LIMIT 0 , 300
J'essaie de trouver les téléchargements liés à des commentaires, mais il est en train de jeter SQLSTATE[42S21]: Colonne existe déjà: 1060 Double nom de colonne 'id'.
Je suis sûr que c'est quelque chose de petit, mais je ne peux pas trouver ce que je fais mal et j'apprécierais vraiment de l'aide.
Merci pour votre temps!
Alex
- L'énoncé n'est pas complet actuellement. Il ne commence pas avec
SELECT
,CREATE
, ... il est Donc difficile de répondre à la question. - Salut Romain, je suis Désolé, manquait le SÉLECTIONNER lors de la copier et de la coller. Pas très utile, je le sais. Je vous remercie. Alex
- Quelle est la valeur d'
{$__cakeID__$}
à avoir? Êtes-vous à l'aide de cette instruction dans le cadre d'unCREATE TABLE
déclaration? - J'ai réussi à résoudre ce merci. Il a été l'appel de différentes .id, j'ai dû créer des alias pour les champs et les tables... {$__cakeID__$} est simplement une variable d'entrée et c'était instruction select pour récupérer les données. Je vous remercie pour le temps que vous avez pris pour m'aider! /A
Vous devez vous connecter pour publier un commentaire.
Tu ne peux pas le nom de deux tables avec le même alias
FROM comments As Comment
etGROUP BY Comment.uploads_id) Comment
, utilisezComment_A
etComment_B
par exemple.INNER JOIN (SELECT CommentUpload.id, CommentUpload.uuid FROM uploads AS CommentUpload) CommentUpload
, avez-vous mise à jour de celle-ci?LEFT JOIN ( SELECT Comment_B.id, Comment_B.uploads_id, CommentUpload_A.id FROM comments As Comment_B INNER JOIN ( SELECT CommentUpload_B.id, CommentUpload_B.uuid FROM uploads AS CommentUpload_B ) CommentUpload_A ON CommentUpload_A.id = Comment_B.uploads_id GROUP BY Comment_B.uploads_id ) Comment_A ON Comment_A.id = ItemGroup.comments_id