我正在使用codeigniter,我希望列出每个已收到的捐款数量的广告系列。所以我们正在处理两个表,“广告系列”和“捐赠”。
我用过这个
$this->db->select('campaigns.id as id, campaigns.userId as userId, name, amount');
$this->db->join('donations','donations.campaignId = campaigns.id', 'left');
$this->db->order_by("SUM(amount)", "DESC");
我希望它能够获得所有活动,无论他们是否有任何捐款,并通过他们收到的捐款总额来订购。此查询仅获得一个广告系列。想法?
答案 0 :(得分:0)
您需要group by campaigns.id
并将选择更改为sum(amount) as amount
。
这是一个SQL问题。我对代码点火器并不熟悉,所以我不会尝试编写代码。
答案 1 :(得分:0)
我认为你正试图在每个广告系列的捐款表中获得捐款总额。如果我是对的,则查询应如下所示。
SELECT campaigns.*, sum(donation.donation) as donation_received FROM `donation`,`campaigns` WHERE campaigns.id=donation.cam_id group by donation.cam_id order by sum(donation.donation) desc
如果它适合你,我可以用codeignter为你写。请告诉我状态。