Mysql SQL如何返回一个表的所有行,并按id限制另一个表的行,并将它们联接起来
如何返回timeslot表中的所有行,并按employeeId限制咨询表中的行 此查询返回employeeId为1的条目Mysql SQL如何返回一个表的所有行,并按id限制另一个表的行,并将它们联接起来,mysql,sql-server,Mysql,Sql Server,如何返回timeslot表中的所有行,并按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 =
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
我想知道如何显示所有的时间段,但只显示来自
一名雇员ID
这就是我想要的结果
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
`试试这个
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
employeeid在哪个表中?您应该在该表的联接条件中包含employeeid。e、 g.如果employeeId位于
咨询
表中,则在左侧连接处包含和employeeId=1
。你现在的where条件基本上是让它成为一个常规的加入。哈哈,我知道它必须是非常简单的东西,上周我一直在为此苦恼。我刚刚尝试了这个,它很有效,非常感谢。只标记适当的RDM
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