【发布时间】:2015-02-15 18:20:35
【问题描述】:
我有一张桌子apartment 如下
aid | aname
1 | dream home
2 | My hub
3 | Lake view
另一个表apartment_details
id | aid | bhk | size | facing
1 | 1 | 2 | 1200 | east
2 | 1 | 2 | 1200 | west
3 | 1 | 2 | 1000 | south
4 | 1 | 2 | 1000 | north
我把查询写成
SELECT distinct ap.aid, ap.aname, al.bhk, (select group_concat(distinct concat(al.bhk,'BHK - ',al.size)) from apartment_details as al where al.id = ap.aid) as details
当我尝试使用 foreach 显示 details 时,我得到的输出为
2BHK - 1200
2BHK - 1200
2BHK - 1000
2BHK - 1000
在这个查询中,它正在考虑 bhk、大小、不同的面,获得的输出基于面。这看起来就像我正在显示重复的数据或相同的数据正在重复,因为没有显示正面。如何仅显示基于 bhk、大小而不是面对的不同值,以便我得到输出为
2BHK - 1200
2BHK - 1000
谁能帮我解决这个问题?提前致谢
【问题讨论】:
-
同一个公寓怎么可能有两种不同的尺寸? (360 度视图也有点不寻常,但并非不可想象)。
标签: mysql group-by subquery distinct group-concat