J'essaie de sélectionner des lignes avec un certain nom de colonne et de les ordonner par un autre nom de colonne.MySQL Select, colonne avec le même nom de plusieurs tables, ordre par une autre colonne avec le même nom
Voilà mon problème, en N tables simplifiées:
table 1: id, username, datetime, comment
table 2: id, username, datetime, vote
.
.
.
table N: id, username, datetime, bought
Je veux être en mesure de sélectionner toutes les lignes où username='Some Name'
, classés par ordre datetime - à travers toutes les tables N.
-
Soit dit en passant, personne ne sait d'un bon livre ou des ressources sur l'apprentissage et la pratique de SQL avancé? (Essayé SQLZoo, mais ils n'ont pas assez d'exemples avancés .. et puis il y a les trop avancés que je suis toujours perplexe sur)
les deux autres personnes suggèrent l'alias comme une possibilité, aussi (bien que je ne sache pas comment ils commandent * tout * par datetime ... si les deux sont possibles, l'alias vs union est-il meilleur en termes de ressources? – ina
Les UNIONs sont la voie à suivre - cela dit, ce n'est pas particulièrement bon pour les ressources puisque vous faites un tas de sous-requêtes et est généralement un signe que vous avez besoin de changer votre schéma de base de données. Notez également que si vous voulez faire quelque chose comme obtenir les 5 enregistrements les plus récents, vous devrez définir une LIMITE 5 dans CHACUNE des sous-requêtes et ensuite limiter sur la requête externe. – AvatarKava
ok, la solution pourrait être juste de créer une table dump_transactions globale qui concatène tout – ina