0

如果下面的查询为分配给尚未开始的报告的任何模板返回“模板”ID...

我还能怎么说(对于这些模板 ID 中的每一个 - 此模板 ID 不能出现在任何其他已经开始的报告上)。

或者,我的意思是我正在尝试完成下面的查询,所以它说“给我所有模板的 ID,其中模板未被任何已启动的报告使用”。就像对于每个 t.id 我循环遍历表一样,确保没有其他带有 template_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()

谢谢!

4

1 回答 1

1

您可以使用子查询

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子句

于 2012-06-08T18:30:05.797 回答