从左表中排除重复的条目

时间:2019-01-20 10:14:39

标签: mysql left-join grouping

我有两个表,tbl_headings和tbl_sub_headings。 tbl_sub_headings包含与tbl_headings的多个匹配项。我想查询两个表并仅显示左侧表的标题名称tbl_headings和右侧表的所有匹配记录tbl_sub_headings。因此,如果tbl_headings包含四个记录并且每个记录都有两个子记录标题,那么tbl_sub_headings将有8条记录。当我通过左联接进行查询时,我会返回八行,其中左表中有重复的条目tbl_headings。我想设置查询,以便只获得(可能是别名),而所有匹配项都在右边。

我尝试使用共享列'header_id'在两个表上进行左内部联接,并在列'header_id'上分组,这仍然为我提供了每个子标题条目的匹配标题名称。

    $stmt = $conn->prepare("SELECT 
      tbl_headings.heading_id AS header_id,
      tbl_headings.heading_name AS header_name,
      tbl_sub_headings.sub_heading_name,
      tbl_sub_headings.key_stage_id
    FROM tbl_headings
      INNER JOIN tbl_sub_headings
        ON tbl_headings.heading_id =   tbl_sub_headings.heading_id
    WHERE tbl_sub_headings.key_stage_id = 1
    GROUP BY tbl_headings.heading_id,
    ");

我想做的是仅从左侧表中获取不同的条目,并从右侧表中获取所有匹配的条目。

0 个答案:

没有答案