我有两个表,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,
");
我想做的是仅从左侧表中获取不同的条目,并从右侧表中获取所有匹配的条目。