首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何查询空表检查是否为空?

如何查询空表检查是否为空?
EN

Stack Overflow用户
提问于 2015-01-15 23:17:02
回答 2查看 71关注 0票数 0

我有以下的数据库结构。

代码语言:javascript
复制
applets
--id (incr)

applet_stats
--id (incr)
--applet_id (relates to applet.id)
--date ("Y-m-d" format)

示例数据:

代码语言:javascript
复制
applets
1
2
3

applet_stats
1   1    2015.01.15
2   1    2015.01.15
3   1    2015.01.15
4   1    2015.01.15
5   2    2015.01.14

在上面的例子中,我们有3个applet。小程序1在2015.01.15有4x统计数据,小程序2在2015.01.14有1x统计数据(昨天)

如何查询数据库以获得以下输出:

代码语言:javascript
复制
// Show me the applets which doesn't have any statistics on "2015.01.15".
[2,3]

我自己用leftJoin试过了,但我忽略了一些非常简单的东西,所以每次都会得到错误的结果。

Ps。在一个雄辩的声明中会更好。

EN

回答 2

Stack Overflow用户

发布于 2015-01-15 23:27:58

雄辩的方式,假设statshasMany关系:

代码语言:javascript
复制
$date = '2015-01-15';

Applet::whereDoesntHave('stats', function ($q) use ($date) {
   $q->where('date', $date);
})->get();
票数 2
EN

Stack Overflow用户

发布于 2015-01-15 23:24:51

代码语言:javascript
复制
SELECT id 
from applets
where id not in(select distinct applet_id from applet_stats where date ='2015.01.15') 

这可能会对你有帮助

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27966660

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档