我正在尝试从5个不同的表(projectName
,{{1}获取所有不同的列(villageName
,blockName
,lotName
,tbl_project
}},tbl_village
,tbl_block
)。
当我尝试使用此代码时:
tbl_lot
我得到了不同的SELECT DISTINCT`projectName`, `villageName`, `blockName`, `lotName`
FROM `tbl_property`
LEFT JOIN `tbl_project` ON tbl_property.projectID = tbl_project.projectID
LEFT JOIN `tbl_village` ON tbl_property.villageID = tbl_village.villageID
LEFT JOIN `tbl_block` ON tbl_property.blockID = tbl_block.blockID
LEFT JOIN `tbl_lot` ON tbl_property.lotID = tbl_lot.lotID
LEFT JOIN `tbl_model` ON tbl_property.model = tbl_model.modelID
LEFT JOIN `tbl_street` ON tbl_property.street = tbl_street.streetID
WHERE tbl_property.propertyStatus = 1
GROUP BY `projectName`, `villageName`, `blockName`, lotName
ORDER BY `projectName` ASC, `villageName` ASC, `blockName` ASC, `lotName` ASC
和projectName
但是当我添加villageName
时:
blockName
projectName SELECT DISTINCT
villageName ,
blockName ,
它没有区别。这与...
相同。但它显示了结果,但根本没有区别。
tbl_project
lotName
tbl_village
**projectName**
Project 1
Project 1
Project 2
Project 3
tbl_block
**villageName**
Village 1
Village 2
Village 2
Village 4
tbl_lot
**blockName**
Block 1
Block 2
Block 6
Block 6
预期产出:
项目名称 ---- 村名 ---- 阻止名称 ---- 地段名称
项目1 ----------村1 -----------第1区-------------第1批
项目2 ----------村2 -----------第2区-------------第2批
项目3 ----------村庄4 -----------第6区-------------第3批
答案 0 :(得分:0)
如果要将“blockName”添加到选择列表而不是故意在GROUP BY子句中留下“lotName”,那么它可能是您的问题。您可以按不在选择列表中的项目进行分组,这些项目将显示重复项。
tldr,选择项目必须按项目匹配并删除不需要的联接。
对于MYSQL,请参阅