如何使用来自另一个查询的结果获取查询数据


How to get query data using result from another query?

我想使用第一个查询结果从第二个查询中获取数据。我想要的是从第一个查询获取id,并使用我得到的id获取内容。

My第一个查询

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

$result = mysqli_query($link, $query) or die(mysqli_error($link));

                            $row = mysqli_fetch_array($result);

2号查询

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

我知道它有问题,但现在我似乎不知道我该怎么做,我想知道我是否应该使用嵌套查询。

编辑:这里是我的嵌套查询
$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 )";

我得到一个"操作数应该包含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