2011-07-14 5 views
-1

マイコード:は左によるデータは、行ごとのカウント()に参加を取得

私はちょうど if(){}を削除すると、SQLクエリでそれを調整したい
$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>'; 
    } 
} 

解決策は何ですか?どうやってするか?

+0

あなたが何を意味しますか? if(){} ???を削除しますか?この除去する – chhameed

+0

'IF($行[ 'カウント']> $行[ 'dclicks'])他 {} {エコー ''。$行[' title_ad]を[ $ row ['counted']。 ' '$行[' dclicks ']。'
'; } – cuttee

答えて

0

は、あなたのSQLにHAVING句を追加します。

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

私はすでにそれを試みましたが、すべての結果を表示しません – cuttee

+0

すべてのソリューション?????????????????? – cuttee

+0

他の詳細をお知らせください。 HAVING節は、コードのif文でスキップされている結果を除外します。 HAVING COUNT(adclicks.ad_id)> = ads.dclicksを使用することもできます。 ( SELECT広告からの SELECT title_ad + '' +(VARCHARとしてカウント)CAST + '' + CAST(VARCHAR AS dclicks)+ '
' : – Keith

関連する問題