0
如果我有兩個簡單的表:如何修改這個MySQL查詢來獲取特定的數據結構?
照片:
photoid | filename | albumid
1 | something.jpg | 1
2 | somethingelse.jpg | 1
而一個相冊表:
albumid | album_name | owner_id
1 | My Holiday 2012 | 1
2 | My Holiday 2013 | 6
而且我想要得到的所有專輯中包含了一個給定的owner_id
我可以這樣做:
select albums.*, photos.*
from photo_albums as albums
left join photos as photos
on albums.albumid = photos.albumid
where albums.owner_id = :owner_id
這將返回2行,對每張照片以及相關相冊數據。
但是我想要做的是僅返回每個專輯的行。將照片行嵌套在每個相冊行中。
類似於下面的返回輸出:
[{
albumid : 1,
album_name : My Holiday 2012,
owner_id : 1,
photos : {
photoid : 1,
filename : something.jpg
},
{
photoid : 2,
filename : somethingelse.jpg
}
}]
有一個簡單而有效的方式到MySQL內做到這一點查詢本身?如果是這樣如何?或者,我是否更好地從原始查詢中獲取完整的行數據,並通過循環遍歷php中的行來將數據構造到此輸出中?
在此先感謝
好。這就是我需要確定的一切。謝謝@barbashov我會在你能夠的時候給你答案。 :) – gordyr 2013-04-09 17:50:36