tengo una mesa de edad así:cómo unirse a las tablas de MySQL
user> id | name | address | comments
Y ahora tengo que crear una tabla de "alias" para permitir que algunos usuarios tengan un nombre de alias por algunas razones. He creado una nueva tabla 'User_Alias' como esto:
user_alias> name | user
Pero ahora tengo un problema debido a mi pobre nivel de SQL ... ¿Cómo se unen las dos tablas para generar algo como esto:
1 | my_name | my_address | my_comments
1 | my_alias | my_address | my_comments
2 | other_name | other_address | other_comments
es decir, yo quiero hacer una consulta "SELECT ..." que devuelve en el mismo formato que la tabla "usuario" todos los usuarios y alias .. Algo como esto:
SELECT user.* FROM user LEFT JOIN user_alias ON `user`=`id`
pero doesn no funciona para mí ..
¡Perfecto! Esta es la solución. No sé si esto es lo mejor, ¡pero funciona! Sólo un pequeño error: user.name SELECT, user.address, user.comment DE usuario UNION ALL SELECT user_alias.alias, user.address, user.comment DE usuario combinación interna User_Alias en user.id = User_Alias. usuario PEDIDO POR nombre – Ivan
Oh, veo su UNIDO ahora. Debe cambiar el nombre user_alias.user a user_alias.user_id para que quede más claro lo que está sucediendo. –