我有3张表如下:
表1:产品
id_product [Primary Key],added_time.
表2:类别
id_category [Primary Key],Category_name.
表3:product_category
id_category,id_product [Both Foreign Keys]
我想将数据拉为
产品添加到类别(最新产品added_time)时,此类别中的{p>Category_name
,No Of Products
,Last time
。
答案 0 :(得分:1)
您可以使用此SQL
:
SELECT Category.Category_name,
Count(DISTINCT Product.id_product) AS num_products,
Max(Product.added_time) last_added_time
FROM Category
LEFT JOIN product_category
ON product_category.id_category = Category.id_category
LEFT JOIN Product
ON Product.id_product = product_category.id_product
GROUP BY Category.Category_name;
请注意,使用LEFT JOIN
,您肯定会列出所有类别,即使是那些没有产品的类别。如果您不想要这些,请将LEFT
个关键字替换为INNER
。
另请注意,在标准SQL
中,您需要GROUP BY
在SELECT
列表中提及的任何列,除非它们已汇总,例如MAX
或{{1 }}
答案 1 :(得分:0)
@"transform"
希望这有帮助。