J'ai un catalogue de musique avec des enregistrements. Chaque enregistrement a un propriétaire et un auteur. Les tables sont:mysql rejoindre alias même table
recordings
recordings_authors(Fk rec_id, Fk contact_id)
recordings_owners(Fk rec_id, Fk contact_id)
contacts (name of people)
L'écho final montrera:
Title: (name of title)
Author: (name from contacts)
Owner: (name from contacts)
Les travaux suivants bien, sauf le propriétaire indique que le même contact que l'auteur. La suppression de l'auteur JOIN génère toujours l'erreur.
SELECT recordings.title,contactsauthors.name AS authorname,contactsowners.name AS ownername
FROM recordings
JOIN recordings_authors AS authors ON recordings.id=authors.rec_id
JOIN contacts AS contactsauthors ON authors.rec_id=contactsauthors.id
JOIN recordings_owners AS owners ON recordings.id=owners.rec_id
JOIN contacts AS contactsowners ON owners.rec_id=contactsowners.id
WHERE recordings.id=1
$row=mysqli_fetch_assoc($results);
echo $row['title'].'<h2>Credits</h2>Author: '.$row['authorname'].'<br>Owner: '.$row['ownername'];
La meilleure réponse que je pouvais trouver ici est celui MySQL: How to associate a column alias with a specific JOIN clause
Un grand merci chue x, cela a fonctionné parfaitement. En effet, seul le contact_id était incorrect. – user2422819