如何编写SQL查询(获取所有类别并在每个类别上获取10个产品)

问题描述 投票:0回答:1

我对数据库非常陌生,我想知道原始sql查询。我有2张桌子类别和产品产品表具有foreign_key(category_id)。

如何获得所有类别,每个类别有10种产品?因此,我将在首页上显示每个类别的名称和10种产品。

SELECT *
FROM categories
INNER JOIN
(SELECT * FROM products ORDER_BY price LIMIT 10) as p
ON
 categories.id = p.category_id
sql database postgresql
1个回答
0
投票

一种简单的方法是横向连接:

SELECT *
FROM categories c LEFT JOIN LATERAL
     (SELECT p.*
      FROM products p
      WHERE c.id = p.category_id
      ORDER_BY p.price
      LIMIT 10
     ) p
     ON 1 = 1
© www.soinside.com 2019 - 2024. All rights reserved.