我有一个包含两个不同表的数据库,第一个名为'House'
,并包含以下列:id, name, updated_at
。我的第二个表名为'House_meta'
,其中包含以下列:house_id, name, value
。在元表中,我有(例如)以下数据:
house_ id name value
1 street 123 streetname
1 color black
1 city chicago
1 image image-1.jpg
1 image image-2.jpg
1 image image-3.jpg
我需要加入这些表格,以便每个住宅条目只在一行上。我的问题是图像,它们都需要在同一行,并且可能像image1,image2等一样输出。我当前的SQL:
SELECT
house.id AS house_id,
house.name AS housename,
updated_at
max(case when house_meta.name = 'street' then house.value end) as street,
max(case when house_meta.name = 'color' then house.value end) as color,
max(case when house_meta.name = 'city' then house.value end) as city,
max(case when house_meta.name = 'image' then house.value end) as image
FROM house
join house_meta on house.id = house_meta.house_id
group by
house.id
这仅(自然地)导致仅添加一个图像。我该如何做到这一点,以便所有图像最终都在一行?
我希望如何返回:
house_id updated_at street color city image1 image2 image3
1 2016-12-02 123 streetname black chicago image-1.jpg image-2.jpg image-3.jpg