我有两个表用于新闻项目,一个用于图像。
新闻表结构
图像表格结构
所以常见的新闻记录是: ID = 1,newstitle =“asdasfa”,newsdesc =“afsdgsgs”,newsimages =“1,2”
图像表记录将是: ID = 1,medianame =“image.jpg”
我正在尝试创建一个select语句,该语句从新闻表中读取数据,但是为我提供了图像表中的图像名称而不是ID。
如果还有其他事情遗漏让我知道
由于
答案 0 :(得分:0)
您可以使用FIND_IN_SET功能
示例:
SELECT `news`.`ID`, `news`.`newstitle`, `news`.`newsdesc`,
GROUP_CONCAT(`images`.`medianame` SEPARATOR ',') AS `newsimages`
FROM `news`
LEFT JOIN `images` ON FIND_IN_SET(`images`.`ID`,`news`.`newsimages`)
GROUP BY `news`.`ID`
P.S。如果你有(或计划拥有)大量行,那么你必须规范化数据。
答案 1 :(得分:-2)
似乎很简单
SELECT N.*, I.medianame FROM News_Table N left join Image_Table I
ON N.Id=I.Id
我假设表名分别是News_table和Image_table,并且一个新闻片可能有多个图像。