2012-04-25 2 views
0

, 난 여기에 결과를 세 가지 결과의 출력을 결합하고 보여주고 싶은 독특한 결과의 수를 보여MySQL은 쿼리 내 테이블 구조 및 쿼리는 내가 세 개의 테이블이

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 뷰 미만이면 그 결과를 표시한다.

나는 세 가지 독립적 인 쿼리를 시도했습니다. table_campaign의 views_left 열의 결합보기보다 작은 경우 table_campaign에 결과가 표시되거나 결과가 표시되지 않도록 작성하는 방법을 안내해주십시오. 나는 단순히이 내용을 모든 행 마이너스 tablepage보기

내 tablepage에서 왼쪽보기 table_campaign 요약의

합계를 보여주고 싶었다

$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>')); 
} 

이 기준을 만족하는 몇 가지 중 임의 결과를 DISPALY 할 uri 열과 table_campaign 배너 열은 같습니다. 그러나 table_page에서 uri 열은 고유하며 한 번만 표시 될 수 있지만 table_campaign 배너 열은 여러 번 올 수 있습니다. 따라서 table_campaign에서 모든 행의 views_left를 추가하고 tablepage 뷰 열과 비교하려고합니다 .if 특정 uri에 대한 views 열은 more입니다. views_left 열의 합계보다 출력이 표시됩니다. 내가 지금 여기에

+0

당신이 지금까지 –

+0

이 아마도 당신이 우리에게 당신이 시도 쿼리를 보여 시작할 수 시도했다 게시주세요 무엇을 그들에게 문제가 있습니까? – eggyal

+0

업데이트 코드 – Steeve

답변

0

내가 그것을 작성합니다 어떻게 내가 아주 명확라고 생각 :

SELECT sum(table_campaign.views_left) - tablepage.views FROM table_campaign,tablepage where tablepage.uri=table_campaign.banner group by table_campaign.banner; 
+0

을 확인하십시오. 조인문을 쓰지 않고 그 결과를 제공합니다. 그러나 모든 행을 거대한 숫자로 필터링하지 않고 추가하고 5-6 행을 무작위로 나열하려고합니다. 그러나 모든 행 추가 결과와 함께 단 하나의 출력을주는 – Steeve

관련 문제