Quel est le message d'erreur “Chaque table dérivée doit avoir son propre alias” dans MySQL?
Je suis l'exécution de cette requête MySQL
SELECT ID FROM (
SELECT ID, msisdn
FROM (
SELECT * FROM TT2
)
);
et il donne cette erreur:
Chaque table dérivée doit avoir son propre pseudonyme.
Quelle est la cause de cette erreur?
- Ne pourriez-vous la simplifier comme "select ID from VAT 2"?
- J'ai eu cette erreur récemment parce que j'avais
)
dans une requête avec beaucoup deUNION ALL
s. - Voyant que la façon dont c'est le n ° 1 de recherche de Google... accepté La réponse n'a pas vraiment de réponse de l'erreur 'Chaque table dérivée doit avoir son propre alias". Regardez ci-dessous pour plus d'info.
Vous devez vous connecter pour publier un commentaire.
Chaque table dérivée (AKA sous-requête) doit en effet avoir un alias. I. e. chaque requête entre parenthèses doit être donné un alias (
AS whatever
), ce qui peut l'être utilisé pour la désigner dans le reste de la requête externe.Dans votre cas, bien sûr, l'intégralité de la requête pourrait être remplacé par:
AS
consolidés. J'ai pensé que vous ne montrait qu'une abréviation. enlevé mon downvote.SELECT...FROM...WHERE x NOT IN (subquery) AS T
va déclencher une erreurJe pense que c'est pour vous demander de le faire:
Mais pourquoi voudriez-vous écrire cette requête, en premier lieu?
Voici un autre exemple qui ne peut pas être réécrite sans alias ( ne peut pas
GROUP BY DISTINCT
).Imaginer une table appelée
purchases
qui enregistre les achats effectués parcustomers
àstores
, c'est à dire que c'est un de nombreux de nombreux de la table et le logiciel a besoin de connaître les clients qui ont effectué des achats à plus d'un magasin:..va rompre avec l'erreur
Every derived table must have its own alias
. Pour corriger:( Note de l'
AS custom
alias).