SQL如何返回表的所有行,并通过id限制另一行的行并使它们加入

时间:2017-06-05 02:06:57

标签: mysql sql-server

如何从时间段表中返回所有行,并通过employeeId限制咨询表中的行

此查询返回employeeId = 1,

的条目
SELECT TimeSlot, conStart, firstName, lastName, phoneNumber
FROM TimeSlots
LEFT JOIN consultation
ON TimeSlots.TimeSlot = consultation.conStart
LEFT JOIN patient
ON consultation.patientId = patient.patientID
WHERE employeeId = 1 

这给了我这个

11:00:00.0000000    11:00:00.0000000    chris   wilson  6666666666

我想知道如何显示所有的Timeslots,但只显示来自的条目 一个employeeID

这就是我想要的结果。

09:00:00.0000000    NULL    NULL    NULL    NULL

09:20:00.0000000    NULL    NULL    NULL    NULL

09:40:00.0000000    NULL    NULL    NULL    NULL

10:00:00.0000000    NULL    NULL    NULL    NULL

10:20:00.0000000    10:20   tim     is      1111111111

10:40:00.0000000    NULL    NULL    NULL    NULL

11:00:00.0000000    11:00   chris   wilson  6666666666

11:20:00.0000000    NULL    NULL    NULL    NULL

2 个答案:

答案 0 :(得分:0)

SELECT TimeSlot, conStart, firstName, lastName, phoneNumber
FROM TimeSlots
LEFT JOIN consultation
ON TimeSlots.TimeSlot = consultation.conStart
LEFT JOIN patient
ON consultation.patientId = patient.patientId AND employeeId = 1

`

答案 1 :(得分:0)

试试这个

SELECT TimeSlot, conStart, firstName, lastName, phoneNumber
FROM TimeSlots
     LEFT JOIN (consultation
                LEFT JOIN patient
                ON consultation.patientId = patient.patientID)
     ON TimeSlots.TimeSlot = consultation.conStart AND TimeSlots.employeeId = 1