如何解决内部查询和外部查询之间的关系问题,mySQL
我正在使用使用 mySQL 作为数据源的 Metabase。
下面的查询是精简查询,它返回表“工作”的条目,这些条目与指定的工作人员在计划完成工作时正在休假相关。
SELECT * FROM work
LEFT JOIN worker w ON workerID = w.ID
WHERE w.ID =
-Syntax 来自 Metabase,用于引入一个公开的变量。
到目前为止,我联合了某个部门的所有工人的结果,只是用另一个包含另一个工人 ID 的公开变量一遍又一遍地做基本相同的事情。这给了我一个很好的概览,但是当有人进入或离开一个部门时需要大量的改变。'locationCoords':GeoPoint(_textEditingController5.GeoPoint.latitude,_textEditingController5.GeoPoint.longitude);
AND EXISTS (SELECT from,to FROM vacation
LEFT JOIN worker w ON worker_vacation = w.ID
WHERE w.ID = {{1}}
AND IF(vacation.from = vacation.to,(work.date BETWEEN vacation.from AND vacation.to + 43200),(work.date BETWEEN vacation.from AND vacation.to)))
{{1}}
(我翻译并精简了查询,可能包含小错误) 我试图通过使用例如按部门选择工人来改变这一点“worker.departmentID = 4”。 但是,当我在两种情况下都使用“WHERE w.department = 4”换出 workerID(带变量的行)时,它会比较是否有任何工人在休假,而分配给未休假的工人的工作必须完成(显然),因为如果我在两种情况下都传递多个 ID,则内部 Query 不再关心 workerID 与其分配的工作之间的关系。 如果我尝试通过多个工人,我如何更改它以便它只返回表“工作”中的条目,这些条目具有在工作期间休假的指定工人?
顺便说一下,不要担心 IF 条款。如果某人有一天的假期,其起始值和终止值在数据库中是相同的,因此我需要将其设为一个时间跨度。
有没有办法做到这一点/有人能指出我正确的方向吗? 很高兴为您解答。
菲利克斯
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。