SQL(LEFT JOIN)(照片,类别)

时间:2014-01-21 22:44:15

标签: php mysql sql

我有三张桌子:

照片:

  • photo_id
  • PHOTO_NAME

Photo_to_category

  • ID
  • photo_id
  • CATEGORY_ID

分类

  • CATEGORY_ID
  • CATEGORY_NAME

我想显示所有带有类别的照片。一张照片可以有例如.. 5类。 有人可以给我一个完整的SQL请求吗?我试着LEFT JOIN,但效果不好。也许GROUP()??感谢

//我的代码

SELECT * FROM photos AS p
LEFT JOIN photo_to_category AS ptc ON p.photo_id = ptc.photo_id
LEFT JOIN category AS c ON ptc.category_id = c.category_id

1 个答案:

答案 0 :(得分:0)

您必须使用GROUP_CONCAT生成包含照片所有类别的字符串,并按照照片ID对结果进行分组。

有关详细信息,请参阅此问题:How to use GROUP BY to concatenate strings in MySQL?