我有三个表,我想结合三个结果的输出并显示结果这里是我的表结构和查询
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视图,则它将显示结果。
我尝试过三次独立查询。你可以指导如何编写,以便如果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 banner列相同。但是在tablepage中,uri列是唯一的,它只能出现一次,但是在table_campaign中,banner列可以多次出现,所以我想从table_campaign中添加所有行的views_left与tablepage views column进行比较。如果该特定uri的视图列大于views_left列的总和,它将显示我所显示的输出。我想我现在很清楚
答案 0 :(得分:0)
以下是我的写作方式:
SELECT sum(table_campaign.views_left) - tablepage.views FROM table_campaign,tablepage where tablepage.uri=table_campaign.banner group by table_campaign.banner;