连接两个SQL表并按组对结果进行排序

时间:2014-07-25 08:51:26

标签: sql

我有两张桌子:

  1. main-table(table1),包含字段ID和名称
  2. detail-table(table2),包含字段ID,id_main,group,details1,details2,...
  3. 可以说,在详细信息表中可能有多个条目(具有相同的id_main),它们属于主表的单个唯一条目。所以我尝试得到主表的每个条目的结果,细节表的每个条目(属于该id)按组字段分组。

    我试过这个

    SELECT 
        t1.id as id1, 
        t1.name as name,
        t2.id_main as id2,
        t2.group as group,
        t2.detail1 as detail
    FROM table1 t1
    LEFT JOIN table2 t2 ON t1.id = t2.id_main
    

1 个答案:

答案 0 :(得分:2)

您不需要GROUP BY

SELECT 
    t1.id, 
    t1.name,
    t2.group,
    t2.detail1 
FROM table1 t1
LEFT JOIN table2 t2 ON t1.id = t2.id_main
ORDER BY t2.group

请记住,在SQL引擎的结果窗格中,您将获得适用于此类的所有行中的group字段。如果要将其显示为报表,则应使用报表工具,例如Crystal Reports或SSRS。