如何从两个表中获取ID(FK)的多个图像

时间:2016-09-03 16:35:54

标签: mysql sql

我有两张桌子,i-e

SELECT `HID`, `HName`, `HDescription`, `ParentID`, `Latitude`, `Longitude`, `CatagoryType`, `Date` FROM `hazara_tbl` 

SELECT HPhoto_ID, HID, Image, Date FROM hazara_tbl_photos

我希望获得针对HID的所有图片。我试过这个,它返回我两行,但我想要单行与多个图像。

SELECT h.HID, h.HName, hp.Image from hazara_tbl h join hazara_tbl_photos hp on hp.HID = h.HID WHERE hp.HID = 49 Query result

我想要这样的东西

Query 2

1 个答案:

答案 0 :(得分:1)

您需要汇总。在MySQL中,使用的典型函数是group_concat()

select h.HID, h.HName, group_concat(hp.Image) as images
from hazara_tbl h join
     hazara_tbl_photos hp
     on hp.HID = h.HID 
where h.HID = 49
group by h.HID, h.HName;

编辑:

以上假设hp.image是本机SQL类型。如果它是BLOB,那么最好将结果组合在应用程序层中。 MySQL不容易支持BLOB数组。