MySQL 添加多个带有子选择查询的 WHERE

标签 mysql where-clause

这段代码给了我一个很好的结果。但我想添加另一个表中的一些字段,我不确定在哪里放置附加的 WHERE 代码...

select day, sum(diff) as total_diff
from (
select sub_meterID, date(`date`) as day, max(value) - min(value) as diff
from `sub_meter_data`
where date(`date`) > '2012-10-01'
   and sub_meterID in ('58984','58985','58986','58987')
group by sub_meterID, date(`date`)
) a
group by day

我需要匹配的其他字段是:

othertable.meterID = sub_meter_data.sub_meterID

moretable.meterID = othertableID

最佳答案

select day, sum(diff) as total_diff
from (
select t1.sub_meterID, date(t1.`date`) as day, max(t1.value) - min(t1.value) as diff
from `sub_meter_data` t1
JOIN othertable t2 ON t1.sub_meterID=t2.meterID
JOIN moretable t3 ON t2.ID=t3.meterID
where date(t1.`date`) > '2012-10-01'
   and t1.sub_meterID in ('58984','58985','58986','58987')
group by t1.sub_meterID, date(t1.`date`)
) a
group by day

了解有关 MySQL 连接的更多信息 here

关于MySQL 添加多个带有子选择查询的 WHERE,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12983048/

相关文章:

python - Flask/MySQL WHERE IN 子句不能只处理一个条目

mysql - 使用 IN 时比较两个 SQL 查询

indexing - Open-Sql 转换为 native oracle sql 通过 where 子句选择任意索引?

mysql - 关于使用 where 子句、日期间隔和 'and' 和/或 'or' 的混淆应该很快

PHP 将 csv 加载到 sql 表中仅在授予 @localhost 的所有权限时才有效

mysql - 在 Mac OS X 10.8.3 上编辑 my.cnf 后无法重启 MySQL

php - 在一个选项中选择两个值 html 表单 php mysql

python - SQLAlchemy 急切加载多个关系

sql - 可选的 where 子句取决于函数参数

mysql - Mysql查询中不同列的计算