0

我有三个表,我想组合三个结果的输出并在这里显示结果是我的表结构和查询

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 和横幅相同)

 id     uri     views   
 1      A1       54
 2      B1       94
 3      C1       38

我想检查 table_campaign 中所有类似类型横幅的总和,并将检查 tablepage,如果 table_campaign 中的总视图小于 tablepage 视图,那么它将显示结果。

我尝试了三个独立的查询。您能否指导如何编写,以便如果 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 的总和,从所有行减去 tablepage 视图的视图总和

我的 tablepage uri 列和 table_campaign 横幅列是相同的。但是在 tablepage 中,uri 列是唯一的,它只能出现一次,但在 table_campaign 横幅列中可以出现多次,所以我想从 table_campaign 添加所有行的 views_left 并与 tablepage 进行比较视图列。如果该特定 uri 的视图列大于 views_left 列的总和,它将显示输出,如我所示。我想我现在很清楚

4

1 回答 1

0

这是我的写法:

SELECT sum(table_campaign.views_left) - tablepage.views  FROM table_campaign,tablepage where tablepage.uri=table_campaign.banner group by table_campaign.banner;
于 2012-04-25T15:52:12.220 回答