【发布时间】:2020-10-29 10:12:47
【问题描述】:
我的表格是这样的
我有几个设备。例如设备 1、设备 2、设备 3 等。 每个设备都进入一个套件。每个活动套件都有属性 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,则该设备不再包含在套件中。但这不起作用。
【问题讨论】:
-
你为什么不使用模型关系
-
我试过了,但我不知道具体该怎么做。我也试过这个 SQL:
SELECT d.*, SUM(k.active) as sumactive FROM devices AS d LEFT JOIN devicekits AS dk ON dk.id_device = d.id LEFT JOIN kits as k ON k.id = dk.id_kit WHERE sumactive = 0 GROUP BY d.id;但我得到一个错误:#1054 - Unknown column 'sumactive' in 'where clause'