J'ai 2 tables " event_volunteer_activity strong>" dans lequel je stocke le volontaire qui a appliqué et " volontaire_attendance strong>" qui a la présence respective du volontaire maintenant quand je cours p> je reçois p> quand je vais un droit ou à gauche rejoindre, je reçois la réponse ci-dessus. Où je devrais commencer depuis Voluntee_attendance Strong> n'a pas de présence prise pour Activalid Strong> = 42 P> VolunteerId VolunteeId ActivityId
2491 2491 40
2491 null 42
4 Réponses :
Vous décrivez un joint gauche code>: Notez que les alias de table facilitent la requête d'écrire et de lire. P> P>
Inclure acticitéid strong> dans la liaison et la modification de SELECT V.VolunteerId, E.ActivityId
FROM Event_Volunteer_Activity E
LEFT JOIN Voluntee_Attendance V
ON E.VolunteerId = V.VolunteerId
AND E.activityid = V.ActivityId
WHERE E.VolunteerId = 2491;
S'il vous plaît, essayez avec la requête ci-dessous où nous ajoutons deux conditions dans la table de jointure et alias de table pour la simplicité du code:
SELECT E.VolunteerId, V.VolunteeId, E.ActivityId FROM Event_Volunteer_Activity E LEFT JOIN Voluntee_Attendance V ON E.VolunteerId = V.VolunteeId WHERE E.VolunteerId = 2491;
Je vous exhorte vraiment à commencer à utiliser d'utiliser des casse-tête et des pauses de ligne lorsque vous écrivez le code. Une seule ligne de code très longue n'est lisible à personne.