sql - Laravel SQL 关系
问题描述
我的表看起来像这样
我有几个设备。例如 device1、device2、device3 等。每个设备都转到一个 Kit。每个活动套件都具有属性 active = 1
例如,我在 Kit1 中首先有 device1 和 device2。然后 device1 和 device2 转到 Kit 2。我将 Kit1 设置为 active = 0,而 Kit2 的 active = 1。然后我从 Kit2 中“删除” device1 和 device2。(它仍将在 devicekit 中)。我只将 Kit2 设置为 active = 0。
这是我的问题。我想列出不在套件中的所有设备。因此,如果我对 Devicekit 和 Kit 进行左连接,我想检查是否所有 Kit 都处于活动状态 = 0。
我尝试了类似的东西SUM(kit.active) as activesum
,如果activesum
为 0,则该设备不再包含在套件中。但这不起作用。
解决方案
如果我正确理解了您的问题,我相信您会遇到这样的事情:
select * from device d
where id not in (select id_device
from devicekit dk
join kit k on dk.id_kit = k.id
where k.active = 1)
这将列出不在任何活动套件中的设备。您可以尝试使用此处创建的示例。
推荐阅读
- ios - 在我自己的应用程序停止从 RPScreenRecorder 接收视频缓冲区后,iOS 屏幕录像机显示媒体服务失败错误
- oozie - error=2, oozie 在 hue4.2 中执行 shell 时没有这样的文件或目录
- scala - Scala 集合总和可用于重载加法
- react-apollo - 反应阿波罗突变和乐观更新
- google-cloud-platform - 如何在 Google Cloud Platform 上安装 32bit(x86/i386/i686) ubuntu 16.04?
- .net - 如果我删除 4.6.2 目标开发的“.NET 框架 4.7”
- html - FreeCodeCamp:CSS 样式元素中的错误:“你的 h2 元素应该是蓝色的”
- java - Java - 如何在 barteksc/AndroidPdfViewer 库中制作缩放按钮?
- android - firebase 是否仅限于显示 4kb 文件 JSON 响应?
- java - java中的非Ascii Unicode编码和解码