我有一个包含Client_ID的主表和客户端的其他详细信息。第二个表是一个每日记录表,链接到Client_ID上的主表,并具有用于记录当前日期的附加列。因此,第二个表中的Client_ID具有基于每个日期的重复记录。
我正在尝试使用主表中的Client_ID选择此类记录,而当前日期的记录不存在。
我尝试的SQL语句如下: -
SELECT `Client_ID`, `Client_RFID_Number`
FROM ciom_master AS a
WHERE (`Client_Active` ='Y' OR `Client_Active` ='y')
AND CURDATE() NOT EXISTS (
SELECT (`Client_Check_Out`)
FROM `cio_master` AS b
WHERE a.Client_ID = b.Client_ID )
AND CURDATE() NOT EXISTS (
SELECT (`Client_Check_In`)
FROM `cio_master` AS c
WHERE a.Client_ID = c.Client_ID )
我无法解决此声明错误。请帮忙。
答案 0 :(得分:0)
您需要在CURDATE()
个查询中移动NOT EXISTS
:
SELECT `Client_ID`, `Client_RFID_Number`
FROM ciom_master AS a
WHERE (`Client_Active` ='Y' OR `Client_Active` ='y')
AND NOT EXISTS (
SELECT (`Client_Check_Out`)
FROM `cio_master` AS b
WHERE a.Client_ID = b.Client_ID
and Client_Check_Out = CURDATE() )
AND NOT EXISTS (
SELECT (`Client_Check_In`)
FROM `cio_master` AS c
WHERE a.Client_ID = c.Client_ID
and Client_Check_In = CURDATE())