gpt4 book ai didi

mysql - ON 子句中的额外条件被忽略

转载 作者:行者123 更新时间:2023-11-29 09:21:30 26 4
gpt4 key购买 nike

我有这个查询:

    SELECT
TA.id,
T.duration,
DATE_FORMAT(TA.startTime,'%H:%i') AS startTime,
TEI.displayname,
TA.threatment_id,
TE.employeeid,
TTS.appointment_date
FROM
tblEmployee AS TE
INNER Join tblEmployeeInfo AS TEI ON TEI.employeeinfoid = TE.employeeinfoid
LEFT OUTER Join tblAppointment AS TA ON TE.employeeid = TA.employee_id
LEFT OUTER Join tblThreatment AS T ON TA.threatment_id = T.threatmentid
LEFT OUTER Join tblAppointments AS TTS ON TTS.id = TA.appointments_id
AND TTS.appointment_date = '2009-10-19'
LEFT OUTER Join tblCustomerCard AS TCC ON TCC.customercardid = TTS.customercard_id
WHERE
TE.employeeid = 1

我试图完成的是选择一名员工(如果有的话),以及给定日期的所有约会。当没有任何约会时,它至少应该提供有关员工的信息。

但现在,它只提供与员工相关的所有约会,并在日期不匹配时传递 null。这里出了什么问题?

最佳答案

因为您正在执行左外部连接,所以它只会连接那些符合 On 条件的记录,并且在不满足条件时会附加 Null。

您仍然会获得该日期没有预约的记录。

如果您进行了 INNER 连接,那么如果不满足 On 条件,则不会输出任何记录。因此,您将不会获得该日期没有预约的任何记录。

关于mysql - ON 子句中的额外条件被忽略,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1613577/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com