I ont les tableaux suivants dans MySQL:gauche Joignez-vous à plusieurs tables interrogent
utilisateurs profil taux
Dans la table des utilisateurs, je l'enregistrement suivant:
id: 1 name: John status: active
Profil , Je ai ce qui suit:
id: 5 bio: blah blah blah user_id: 1
Les taux de table est vide, mais contient les champs suivants:
id, rate, and user_id
Je suis en train d'utiliser SQL pour interroger ces tables et afficher des informations sur l'utilisateur, leur profil d'utilisateur (si elles en ont un), et leurs taux (s'il en existe un). SQL J'utilise est la suivante:
SELECT user.name, profile.bio, rate.rate
FROM user
LEFT JOIN (profile, rate) ON (user.id = profile.user_id AND user.id = rate.user_id)
WHERE status = 'active';
Le problème ici est que les rendements sql ci-dessus user.name données, mais la profile.bio est nulle, même si il y a un enregistrement user_id correspondant dans le tableau de profil. Il semble que MySQL n'affiche pas les données bio s'il n'y a pas d'enregistrement correspondant pour cet utilisateur dans la table des tarifs.
Si je veux que le SQL affiche le nom de l'utilisateur ainsi que son taux bio et horaire (s'il en existe un), comment procéderais-je? Je suis un peu confus, car je pensais que le SQL ci-dessus devrait fonctionner.
Merci!