Je cours cette requête sur 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 alias.
Qu'est-ce qui ne va pas ?
Je cours cette requête sur 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 alias.
Qu'est-ce qui ne va pas ?
Voici un autre exemple qui ne peut pas être réécrite sans alias ( ne peut pas GROUP BY DISTINCT
).
Imaginez une table appelée purchases
qui enregistre les achats effectués par customers
à 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:
SELECT DISTINCT customer_id, SUM(1)
FROM ( SELECT DISTINCT customer_id, store_id FROM purchases)
GROUP BY customer_id HAVING 1 < SUM(1);
..va rompre avec l'erreur Every derived table must have its own alias
. Pour corriger:
SELECT DISTINCT customer_id, SUM(1)
FROM ( SELECT DISTINCT customer_id, store_id FROM purchases) AS custom
GROUP BY customer_id HAVING 1 < SUM(1);
( Note de l' AS custom
alias).
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.