IA有一個問題,在多計數加入Zend的左連接數不工作
$query = $this->select()
->setIntegrityCheck(false)
->from(array('u' => 'users'))
->join(array('c' => 'clients'), 'u.id = c.user_id', 'COUNT(c.user_id) as clientsCount')
->join(array('emails' => 'u_emails'), 'u.id = emails.user_id', 'COUNT(emails.user_id) as emailsCount')
->join(array('sms' => 'u_sms'), 'u.id = sms.user_id', 'COUNT(sms.user_id) as smsCount')
->where('u.id=?', (int) USER_ID)->group('u.id');
我覺得你的問題是,所有的計數返回相同的值? – Benz 2014-09-23 14:23:44
是的,我在u_emails中有4行,在u_sms中有2行,在客戶端有2行。所有的計數都會返回16.我不知道問題出在哪裏。它看起來像增加了。 – Peet 2014-09-23 14:32:15
這是因爲您使用了「Group」。在COUNT組只計算返回的行數(16是因爲有16個唯一的用戶ID,我認爲你可以很容易地用一些子查詢來替換這個查詢。 – Benz 2014-09-23 14:37:56