2011-07-14 55 views
-1

我的代碼:獲得由左數據與計數()連接的每一行

$q = mysql_query(" 
      SELECT 
       ads.title_ad AS title_ad, 
       COUNT(adclicks.ad_id) AS counted, 
       ads.dclicks AS dclicks 
      FROM ads 
      LEFT JOIN adclicks 
       ON ads.id = adclicks.ad_id GROUP BY ads.id 
    "); 

while($row = mysql_fetch_array($q)) 
{ 
    if($row['counted'] > $row['dclicks']) 
    { 
    } 
    else 
    { 
     echo ''.$row['title_ad'].' '.$row['counted'].' '.$row['dclicks'].'<br>'; 
    } 
} 

我只是想刪除if(){}並希望在SQL查詢來調整。

什麼是解決方案?怎麼做?

+0

你是什麼意思?刪除if(){} – chhameed

+0

刪除此:如果($行[ '計數']> $行[ 'dclicks']){ } 其他 { 回波 '' $行。[ 'title_ad']「。 '$行[ '計數的'。' '$行[ 'dclicks'。'
'; } – cuttee

回答

0

添加HAVING子句的SQL:

HAVING COUNT(adclicks.ad_id) < ads.dclicks 
+0

我已經試過,但它不顯示所有結果 – cuttee

+0

的任何解決方案??????????????????? – cuttee

+0

你能提供其他細節嗎? HAVING子句過濾出在代碼的if語句中被跳過的結果。您還可以使用:HAVING COUNT(adclicks.ad_id)> = ads.dclicks。 – Keith