MySQL de l'UNION de la Chaque table dérivée doit avoir son propre alias
Je suis à la recherche d'une solution:
SELECT SUM(`quant`), MONTH(`date`) AS month, `id` from (
(SELECT `date`, `id`, count(`hit`) AS `quant ` FROM `stat_2014_07` WHERE `k_id` = '123')
UNION ALL
(SELECT `date`, `id`, count(`hit`) AS `quant ` FROM `stat_2014_08` WHERE `k_id ` = '123')
) group by id, month
MySQL: Chaque table dérivée doit avoir son propre alias
Vous devez ajouter un alias, par gving des sous-requêtes d'un nom après votre clôture
Les Tables qui ont la même structure, mais seulement différentes dans leurs noms sont généralement signe d'une mauvaise conception de base de données. Un
)
. Donc, quelque chose comme (SELECT foo FROM bar) thisisaderivedtablealias
. Vous pouvez omettre le ()
's autour de l'intérieur 2 requêtes dans votre UNION de TOUS BTW.Les Tables qui ont la même structure, mais seulement différentes dans leurs noms sont généralement signe d'une mauvaise conception de base de données. Un
union all
serait inutile si vous aviez un tableau appelé stats
qui avait données à partir de tous les mois.
OriginalL'auteur user3270967 | 2014-08-16
Vous devez vous connecter pour publier un commentaire.
Vous devez donner un alias à vos questions:
OriginalL'auteur Mureinik
Exactement ce que le message d'erreur dit. Dans votre (simplifié) de la requête:
Vous n'avez pas à spécifier un alias de la table dérivée. Il devrait donc être:
Btw: les parenthèses autour de l'sélectionner des parties d'un syndicat sont totalement inutiles. Je suggère de les enlever pour plus de clarté:
OriginalL'auteur a_horse_with_no_name