$AcceptEventCount = mysql_query("SELECT COUNT(*) as count, tblDevices.name, tblEvents.sentdeviceid FROM tblDevices,tblEvents WHERE tblDevices.deviceid = tblEvents.sentdeviceid
GROUP BY tblEvents.sentdeviceid ORDER BY count DESC");
$DeclineEventCount = mysql_query("SELECT COUNT(*) as cnt, tblDevices.name, tblDeclinedEvents.deviceid FROM tblDevices,tblDeclinedEvents WHERE tblDevices.deviceid = tblDeclinedEvents.deviceid
GROUP BY tblDeclinedEvents.deviceid ORDER BY cnt DESC");
我很想在php mysql中合并两个查询。我用它尝试过工会,但我无法得到理想的结果。
基本上我想从表tbldevices获取已接受事件和设备被拒绝事件的计数。这里涉及三个表。谁能帮我这个?
这是我试过的!
SELECT COUNT() as count, tblDevices.deviceid,null,tblEvents.sentdeviceid
from tblEvents,tblDevices
WHERE tblEvents.sentdeviceid = tblDevices.deviceid
GROUP BY tblEvents.sentdeviceid
UNION
SELECT COUNT() as cnt,tblDevices.deviceid,tblDeclinedEvents.deviceid,null
from tblDevices,tblDeclinedEvents
WHERE tblDeclinedEvents.deviceid = tblDevices.deviceid
GROUP BY tblDeclinedEvents.deviceid
答案 0 :(得分:0)
我认为这是不可能的(至少不使用子查询)。原因是需要在字段上进行分组,但接受和拒绝的事件不是由字段识别,而是由表格识别。
如果无法修改表结构,则有2个查询是合理的选择。如果您可以更改表结构,我建议添加一个存储验证状态的列。