Mysql 仅当没有具有相同字段值的其他记录满足条件时,才选择字段

Mysql 仅当没有具有相同字段值的其他记录满足条件时,才选择字段,mysql,Mysql,如果下面的查询为分配给尚未启动的报表的任何模板返回“模板”id 我该怎么说呢(对于这些模板id中的每一个,这个模板id不能出现在已经启动的任何其他报表上) 或者,我的意思是,我正在尝试完成下面的查询,因此它会显示“给我所有模板的id,其中任何已启动的报表都没有使用该模板”。就像对于每个t.id,我在表中循环,确保没有其他具有模板id(t.id)的报告已经启动 SELECT DISTINCT t.id, FROM templates t LEFT OUTER JOIN reports r ON

如果下面的查询为分配给尚未启动的报表的任何模板返回“模板”id

我该怎么说呢(对于这些模板id中的每一个,这个模板id不能出现在已经启动的任何其他报表上)

或者,我的意思是,我正在尝试完成下面的查询,因此它会显示“给我所有模板的id,其中任何已启动的报表都没有使用该模板”。就像对于每个t.id,我在表中循环,确保没有其他具有模板id(t.id)的报告已经启动

SELECT DISTINCT t.id, 
FROM templates t
LEFT OUTER JOIN reports r ON r.template_id = t.id
WHERE r.start_time >=  UTC_TIMESTAMP()

谢谢

您可以像下面这样使用子查询

SELECT DISTINCT t.id, 
FROM templates t
LEFT OUTER JOIN reports r ON r.template_id = t.id
WHERE r.start_time >=  UTC_TIMESTAMP() and t.id not in (select CONCAT_WS(',',tid) where report started) 
我没有完成子查询,因为我不知道确切的表结构。因此,请相应地完成where子句