mysql jointure externe gauche
J'ai deux tables:
employee
avec des champs employee_id, prénom, middlename, lastnametimecard
avec des champs employee_id,temps,temps,tc_date_transaction
Je veux sélectionner tous les dossiers des employés qui ont le même employee_id avec la carte de pointage et la date est égale à la date actuelle. Si il n'y a pas d'égalité avec la date du jour puis retour également les dossiers de l'employé, même sans le temps,le délai d'attente et tc_date_transaction.
J'ai une requête de ce
SELECT *
FROM employee LEFT OUTER JOIN timecard
ON employee.employee_id = timecard.employee_id
WHERE tc_date_transaction = "17/06/2010";
résultat comme ceci:
employee_id | prénom | middlename | nom | temps | temps | tc_date_transaction ------------------------------------------------------------------------------------------ 1 | jean | t | cruz| 08:00 | 05:00 | 17/06/2010 2 | marie | j | von | null | null | null
OriginalL'auteur tirso | 2010-06-17
Vous devez vous connecter pour publier un commentaire.
Vous êtes filtrage tc_date_transaction qui filtre toutes les valeurs null dans ce domaine, même ceux générés par l'outer-join et, par conséquent, les défaites de son but. Déplacer le filtre "tc_date_transaction = "17/06/2010"" dans la clause de jointure et il va fonctionner.
ou écrire
J'ai mis à jour ma réponse à refléter cette MY-SQL question.
salut loxley, votre code de travail. tnx
OriginalL'auteur Loxley