2011-07-30 7 views
0

첫 번째 쿼리 결과를 사용하여 두 번째 쿼리의 데이터를 가져 오려고했습니다. 하지만 난 질수있어 내가 원하는 첫 번째 쿼리에서 ID를 얻고 내가 가진 ID를 사용하여 콘텐츠를 얻을 수 있습니다.다른 쿼리의 결과를 사용하여 쿼리 데이터를 가져 오는 방법은 무엇입니까?

내 첫번째 쿼리

$query = "SELECT book_id , title, SUM(quantity) AS total_sales FROM shopping_cart GROUP BY title ORDER BY total_sales DESC "; 

$ 결과 = mysqli_query ($ 링크, $ 쿼리) 또는 다이 (mysqli_error ($ 링크));

      $row = mysqli_fetch_array($result); 

내가 그것으로 somethign 잘못 프로그래머를 알고 있지만 지금 내가 메신저 suppouse 중첩 된 쿼리를 사용하는 경우, 내가 어떻게 그것이 궁금 있었는지 파악하는 것 캔트

for ($rcount = 0; $rcount < count($row); $rcount++) { 
           $wanted_id = $result[$rcount]['book_id']; 
           $query1 = "SELECT * FROM books where id ='$wanted_id' "; 
           $result1 = mysqli_query($link, $query) or die(mysqli_error($link)); 
          } 

2 쿼리.

편집 : heres는 내 중첩 된 쿼리

$query = "SELECT * from books where id IN (SELECT book_id AS id, title, SUM(quantity) AS total_sales FROM shopping_cart GROUP BY title ORDER BY total_sales DESC)"; 

은 내가, 당신은 하나의 질의를 필요로한다

+0

'$ wanted_id = $ row [$ rcount] ['book_id ']'가 아니어야합니까? – ngen

+0

또한 여러 선택에 대해 'UNION'을 사용해야한다고 생각합니다. – ngen

+0

메신저 2 결과를 빗질하지 않고 대신 내 첫 번째 쿼리 where 절은 두 번째 쿼리에서 해당 조건을 얻으려고합니다 – 3cross

답변

3

그래도 "피연산자 1 열 오류를 포함해야한다"얻을 귀하의 쇼핑 바구니 테이블에 책 테이블에 가입있어 각 도서에 대한 정보.

SELECT 
    books.*, 
    shopping_cart.book_id, 
    shopping_cart.title, 
    SUM(shopping_cart.quantity) AS total_sales 
FROM 
    shopping_cart 
INNER JOIN 
    books 
ON 
    shopping_cart.book_id = books.id 
GROUP BY 
    shopping_cart.title 
ORDER BY 
    total_sales DESC 
+0

Omg, 도움을 다시 한번 감사드립니다! – 3cross

관련 문제