我想在我的表的结果中删除属于某个组的所有用户,因为他们知道它可以属于多个组。我怎么能这样做?
我首先要通过这种方式使查询成为一个foreach循环
$arrayCustomer = [];
$customers = Db::getInstance()->ExecuteS('
SELECT c.id_customer, c.email, c.firstname, c.lastname, cg.id_group
FROM ' . _DB_PREFIX_ . 'customer c
LEFT JOIN ' . _DB_PREFIX_ . 'customer_group cg ON(c.id_customer = cg.id_customer)
WHERE c.active = 1 ');
foreach ($customers as $key => $customer) {
$arrayCustomer[$key] = $customer;
}
感谢您的帮助。
答案 0 :(得分:0)
如果要直接从查询中删除它们,可以添加子选择:
SELECT c.id_customer, c.email, c.firstname, c.lastname, cg.id_group
FROM ' . _DB_PREFIX_ . 'customer c
LEFT JOIN ' . _DB_PREFIX_ . 'customer_group cg ON(c.id_customer = cg.id_customer)
WHERE c.active = 1
AND cg.id_customer NOT IN (SELECT cg.id_customer FROM ' . _DB_PREFIX_ . 'customer_group cg WHERE cg.id_group = GROUP_ID)
将GROUP_ID替换为所需的组