2013-12-12 3 views
0

결과를 가장 높은 순서에서 가장 낮은 순서로 정렬하는 방법을 생각하려고합니다.

여기의 문제는 그 숫자가 다른 테이블에서 나올 것이므로 어떻게해야하는지 잘 모르겠습니다.

아래에서 확인하십시오. * 감사합니다!

* 편집 : 나는 코딩 빨아하지만 여전히 :) 내가 필요로하는 (가장 높은 숫자가 낮은하기 위해) $ 결과가 될 ID로 ORDER 대신

현재 코드 주문 것을 알고

$query = "SELECT * FROM tablea WHERE id > 1 AND status = '1' ORDER BY id ASC;"; 
$result = @mysql_query($query); 

for ($i=0; $i < @mysql_num_rows ($result); $i++) { 
$row = @mysql_fetch_array($result); 

$total = $total + 1; 
$results = ''; 
$noinv = ''; 

$query2 = "SELECT SUM(number) FROM tableb WHERE id = '$row[id]' AND cur = '1' AND type = '1' AND pos = '1';"; 
$result2 = @mysql_query($query2); 
$row2 = @mysql_fetch_array($result2); 

if ($row2['SUM(number)'] == '') { 
    $row2['SUM(number)'] = '0.00'; 
} 

$query3 = "SELECT SUM(number) FROM tableb WHERE id = '$row[id]' AND cur = '1' AND type = '1' AND pos = '2';"; 
$result3 = @mysql_query($query3); 
$row3 = @mysql_fetch_array($result3); 

if ($row3['SUM(number)'] == '') { 
    $row3['SUM(number)'] = '0.00'; 
} 

$results = $row3['SUM(number)'] - $row2['SUM(number)']; 

print $row['id'].' '.$row['status'].' '.$results; 
} 
+2

질문 귀하가 작성한 코드는 질문 자체에 특정 문제를 기술해야하며이를 재현 할 수있는 유효한 코드를 포함해야합니다. – Kermit

+0

죄송합니다. 여기 처음 시도했습니다. 방금 사용중인 코드를 추가했습니다. – user3096206

+0

필요한 솔루션을 알려주십시오. 명확한 말로 말해보세요. 샘플 출력과 테이블 구조를 제공하십시오. 몇 가지 정보를 추가하고 질문을 수정하십시오. 그것은 모두에게 도움이 될 것입니다. – Santhosh

답변

0

귀하의 질문은 불분명하지만,

A.column1이 A.column2는, A.column3이 카운트 선택 (일반적인 대답 당신에게 제공하기 위해 B를 시도 : 내가 사용하고 . *) 테이블 A로부터

테이블 B 총

여기서 총 DESC 의해 A.Id

ORDER BY A.Id = B.Id

그룹 문제에 관한

+0

저는 현재 사용하고있는 코드와 내가 성취하고자하는 것을 추가했습니다. 당신의 답변에 감사드립니다! – user3096206

+0

난 당신이 하나의 쿼리에서 결과를 얻을 수 있다고 생각 루프에서 두 쿼리를 제거하고 루프 전에이 쿼리를 시도하십시오. a.id> 1이고 a.status = '1'이고 a.id = b.id이고 b.cur = '1'인 SELECT a. *, b.sum (number) total 테이블 a, b.type = '1'AND (b.pos = '1'or pos = '2') a.id에 의한 그룹 ORDER BY 총 ASC; – kashan

+0

답장을 보내 주셔서 감사합니다. 해당 쿼리를 시도했지만 결과가 나오지 않습니다. atm : – user3096206