我有三张表--产品,类别

和product_category。

如何对产品进行排序,按类别进行排序,以及如何将类别名称加入到product_category表中,因为product_category只有cat_id而没有类别名称。
Cell Pones
Cell Pones 1
Cell Pones 2
Cell Pones 3
Books
Book 1
Book 2
Book 3发布于 2014-08-16 14:42:10
获取所有产品/类别组合,并按类别名称对它们进行排序。显然,产品和类别可以不止一次出现,因为产品类别是多对多的关系。
SELECT p.prd_name, p.prd_price, c.cat_name
FROM Product p
JOIN Product_category pc ON p.prd_id = pc.prd_id
JOIN Category c ON c.cat_id = pc.cat_id
ORDER BY c.cat_name发布于 2014-08-16 14:43:31
这实际上不是一个“关系”输出,因为列有不同的含义,行的位置很重要(SQL结果集和表通常表示无序集)。但是你可以做到的。
select name
from ((select cat_id, cat_name as name, 0 as sortorder
from category_table
) union all
(select cat_id, prd_name, 1 as sortorder
from product_category pc join
product p
on pc.prd_id = p.prd_id
)
) n
order by cat_id, sortorder;https://stackoverflow.com/questions/25341191
复制相似问题