开发者社区> 问答> 正文

如何使用尽可能简单的方式实现这个SQL语句呢

创建表:
6
插入数据:
INSERT mysql.battery(name) VALUES('Battery1'),('Battery2'),('Battery3'),('Battery4'),('Battery5');
7
插入日志数据:
INSERT mysql.record VALUES (1,2),(1,3),(1,2),(2,10),(2,3);
结果:
8
日志表数据表示电池1分别被充电2小时、3小时、1.5小时,电池2分别被充电10小时、3小时
没有充电记录,或没有被一次性充电超过8小时的电池都是有问题的电池(可知只有电池2是没有问题的)
我能首先想到的是使用一个左外连接找出没有日志的电池
SELECT * FROM mysql.battery b LEFT JOIN mysql.record r ON b.id = r.id;
9
可以看出Battery3、Battery4、Battery5没有充电记录所以是有问题的,但Battery1没有一次充电超过8小时,所以也是有问题的,若想简便的将以上有问题的电池都找出来,不使用存储过程之类的话该如何实现呢

展开
收起
蛮大人123 2016-02-10 13:22:07 2316 0
1 条回答
写回答
取消 提交回答
  • 我说我不帅他们就打我,还说我虚伪

    0

    2019-07-17 18:40:19
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
SQL Server 2017 立即下载
GeoMesa on Spark SQL 立即下载
原生SQL on Hadoop引擎- Apache HAWQ 2.x最新技术解密malili 立即下载