Estoy tratando de seleccionar filas con un cierto nombre de columna y ordenarlas por otro nombre de columna.MySQL Seleccionar, columna con el mismo nombre de varias tablas, ordenar por otra columna con el mismo nombre
Aquí es mi problema, en N tablas simplificadas:
table 1: id, username, datetime, comment
table 2: id, username, datetime, vote
.
.
.
table N: id, username, datetime, bought
Quiero ser capaz de seleccionar todas las filas en username='Some Name'
, ordenadas por fecha y hora - a través de todas las tablas N.
-
Por cierto, ¿alguien sabe de un buen libro o recurso en el aprendizaje y la práctica de SQL avanzado? (Intenté SQLZoo, pero no tienen suficientes ejemplos de avance ... y luego están los muy avanzados que todavía estoy perplejo)
las otras dos personas también sugieren alias como una posibilidad (aunque no estoy seguro de cómo están ordenando * todo * por fecha y hora ... si ambas son posibles, ¿alias vs unión es mejor en términos de recursos? – ina
Si está buscando hacer pedidos en múltiples tablas que no tienen relaciones directas, los UNION son el camino a seguir; dicho esto, esto no es especialmente bueno para los recursos ya que está haciendo un montón de subconsultas y generalmente es una señal de que necesita cambiar su esquema de base de datos. También tenga en cuenta que si desea hacer algo como obtener los 5 registros más nuevos, deberá establecer un LÍMITE 5 en CADA una de las subconsultas y luego limitar la consulta externa también. – AvatarKava
bien, la solución podría ser solo crear una tabla dump_transactions general que concatena todo – ina