私は3つのテーブルを持っています、3つの結果の出力を組み合わせて、ここに結果を表示したいのは私のテーブル構造とクエリです
table_campaign-IDは自動インクリメントです
id banner views_left packages
1 A1 555 5
2 A1 527 5
3 B1 580 98
4 C1 293 69
table_packages-Idは自動インクリメントです
id name special
1 India IND
2 Aus Australia
3 Pak Pakistan
tablepage(table_campaignのuriとbannerは同じです)
id uri views
1 A1 54
2 B1 94
3 C1 38
table_campaignで同様のタイプのすべてのバナーの合計を確認したいのですが、tablepageで確認し、table_campaignの合計ビューがtablepageビューより少ない場合は、結果が表示されます。
私は3つの独立したクエリを試しました。tablepageのビューがtable_campaignのviews_left列の結合されたビューよりも少ない場合に結果が表示されるか、結果が表示されないようにする方法を教えてください。この基準を満たすいくつかの結果からランダムな結果を表示したい
$res23 = sql_query("SELECT sum(views_left) as num from table_campaign where banner!='{$client['uri']}' " );
$row23 = sql_fetch_array($res23);
$stats['views_left'] = $row23['num'];
$res = sql_query("SELECT * from `table_packages` where special='{$client['location']}'");
$row = sql_fetch_array($res);
$packages=$row['id'];
{
$res2 = sql_query("SELECT * from `table_campaign` banner where packages='{$packages}' order by views_left desc limit 4");{
while($row = sql_fetch_array($res2)) {
$banner1= $row['banner'];
$views_left = $row['views_left'];
$output4 .= '<table width="100%"><tr><td style="text-align:left;"><a href="'.$banner1.'">'.$banner1.'</a></td><td style="text-align:right;">'.$views_left.' '.$stats['views_left'].'</td></tr></table>
';}
ass(array('title'=>t('abc'), 'content' => '<div class="toolbar">'.'<div style="border:0px solid #B2BCA7;margin-bottom:20px;"><div style="padding: 7px; position: relative;">'.$output4.'</div>'));
}
このコンテンツを見せたかっただけです
table_campaignの合計すべての行から残ったビューの合計からテーブルページビューを引いたもの
私のtablepageuri列とtable_campaignバナー列は同じですが、tablepageではuri列は一意であり、1回しか表示できませんが、table_campaignバナー列では複数回表示される可能性があるため、table_campaignのすべての行のviews_leftを追加してtablepageと比較しますviews列。その特定のURIのviews列がviews_left列の合計よりも大きい場合、私が示したように出力が表示されます。私は今とてもはっきりしていると思います