2012-07-02 38 views
2

這是我的代碼有:MySQL的擁有和地方在同一個查詢子句

$sqlz = "SELECT t1.user_id, t2.status, t2.email 
     FROM coverages t1 
     LEFT JOIN users t2 ON t1.user_id = t2.user_id 
     GROUP BY t1.user_id 
     HAVING COUNT(t1.user_id) =".$value; 

我想補充這個「WHERE users.email IS NOT NULL」 當我添加它,它返回一個白頁/沒有結果。我知道一個事實是,在數據庫中至少有200個結果包含一個電子郵件並且符合該條件。

這是我做過什麼,沒有工作的例子:

$sqlz = "SELECT t1.user_id, t2.status, t2.email 
      FROM coverages t1 
      LEFT JOIN users t2 ON t1.user_id = t2.user_id 
      WHERE users.email IS NOT NULL 
      GROUP BY t1.user_id 
      HAVING COUNT(t1.user_id) =".$value; 
+3

你給你的用戶表的別名爲t2:因此你需要在你的WHERE標準中使用這個別名。 – eggyal

回答

14

我認爲你需要使用t2別名),而不是users

$sqlz = "SELECT t1.user_id, t2.status, t2.email 
      FROM coverages t1 
        LEFT JOIN users t2 ON t1.user_id = t2.user_id 
      WHERE t2.email IS NOT NULL 
      GROUP BY t1.user_id 
      HAVING COUNT(t1.user_id) = " .$value; 
+0

非常真實的謝謝。 – cppit

相關問題