2010-11-01 4 views
1

je veux joindre deux tables pour obtenir les médecins nom au lieu de l'IDAucun résultat de Rejoindre une base de données?

SELECT Doctors.doct_name, 
     Shifts.shift_date, 
     Shifts.shift_day, 
     Shifts.shift_start, 
     Shifts.shift_end 
    FROM SHIFTS 
    JOIN Doctors ON Doctors.doct_id = Shifts.doct_id 

la colonne sont présentés, mais sans aucun résultat ,, aucune donnée de la base de données?

+1

Vérifiez la table 'SHIFTS' - ma supposez que vous n'avez aucune valeur 'doct_id' correspondant à celles de DOCTORS.doct_id'. –

+1

Y a-t-il des données dans l'une de ces tables? – dotariel

Répondre

2

votre requête semble correct.

essayer deux requêtes séparées pour valider les données de base:

select * from Doctors order by doct_id; 

et

select * from Shifts order by doct_id; 

voir si vous pouvez repérer manuellement le problème de données:

+1

+1 pour une réponse saine. La première étape que le PO doit faire est de déterminer quelles données il possède. – NotMe

1

Essayez un LEFT JOIN:

SELECT Doctors.doct_name,Shifts.shift_date,Shifts.shift_day,Shifts.shift_start,Shifts.shift_end 
    FROM SHIFTS 
    LEFT JOIN Doctors ON Doctors.doct_id = Shifts.doct_id 
+0

Cela montrera simplement les valeurs SHIFT - basé sur les informations fournies, je m'attendrais à ce que les références 'DOCTORS' soient toutes NULL. –

+0

Toujours le même problème après avoir vérifié? – Omneya

+0

Ma conjecture était qu'au moins forçant la jointure à gauche, donnerait une vision claire des données dans la base de données et cela aiderait l'OP plus loin. –

0

Essayez d'utiliser jointure gauche et également essayer d'utiliser la clause Where avec un id pour vérifier s'il y a vraiment existent médecins dans les deux tables

SELECT Doctors.doct_name,Shifts.shift_date,Shifts.shift_day,Shifts.shift_start,Shifts.shift_end 

DE DÉPLACEMENTS GAUCHE JOIN Doctors ON Doctors.doct_id = Shifts.doct_id

OU

SELECT Doctors.doct_name,Shifts.shift_date,Shifts.shift_day,Shifts.shift_start,Shifts.shift_end 

DE DÉPLACEMENTS LEFT JOIN Médecins SUR Doctors.doct_id = Shifts.doct_id OÙ Doctors.doct_id = [insérer id médecins ici - doctors_id]

Questions connexes