我有一个名为sitekeys的表:
在此site_key中包含唯一许可证。而称为许可证的字段包含的任何时候都不能使用。 org_id字段包含已分配给它的公司。
现在激活表:
此表中的site_key包含分配给设备的密钥。
现在我想算一下公司使用的密钥。
与XYZ公司一样,我已经给了10 licenes然后我想知道它们中有多少被使用了,所以我可以在激活表中计算(site_key)。
那么我的查询应该是什么?
我想我必须使用Group_BY才能这样做。
我想要显示我给公司的钥匙以及他们使用过的钥匙
答案 0 :(得分:1)
我不确切地知道你的桌子的设计如此安全我必须加入两张桌子
SELECT a.org_id, a.licenses, b.used_key from sitekeys a LEFT JOIN ( SELECT site_key, user_id, count(site_key) as used_key FROM activation b GROUP BY site_key,user_id ) b on a.site_key = b.site_key
答案 1 :(得分:0)
$this->db->select("count(activation.site_key)");
$this->db->from("activation");
$this->db->join("sitekeys");
$this->db->group_by("sitekeys.site_key");
$this->db->get();
试试这个