Tengo una tabla llamada maintable
con 3 columnas: id
, userid1
y userid2
.¿Cómo seleccionar dos columnas adicionales de otra tabla basadas en valores en la tabla principal?
Otra tabla llamada users
está introducido por userid
, y tiene name
como una columna.
deseo seleccionar algo en la línea de:
SELECT maintable.*, users.name AS username1, users.name AS username2
FROM maintable, users
WHERE ...
Básicamente quiero conseguir todas las columnas de la fila maintable
, y añadir dos columnas en el extremo que atraerá a los nombres de userid1
y userid2
de la tabla users
.
No estoy seguro de cómo formatear la cláusula where para una consulta como esta.
¿Qué pasa si la tabla de usuarios tiene sólo una entrada para un usuario particular? Creo que unirse a la izquierda sería preferible. – Chandu
@Cybernate: si ese es el caso ('userid1' o' userid2' podría no existir en la tabla 'users') estoy de acuerdo con usted. De lo contrario, preferiría una ** unión interna **. –
No creo que haya dos columnas con el nombre userid1 y userid2 en la tabla. Es solo una columna por nombre userid. – Chandu