我有以下表格:复杂的M:N与MySQL表关系
表:新闻
领域:UID,标题,类别,日期时间,隐藏,删除
表 :categories_mn
字段:uid_local,uid_foreign
表:类
领域:UID,parentcategory,名称,图像
每一个新闻条目都被分配到几个不同的类别。
什么我试着去实现的是,以获得最新3日消息,并显示该项目被分配到所有类别的图像(且分配有一个图片)
事情是这样的:
title | catimages |
------------------------------
Post 7 | cat1.jpg |
Post 6 | |
Post 5 | cat1.jpg,cat3.jpg |
------------------------------
这是我到目前为止有:
SELECT title, categories
FROM news
WHERE deleted = 0 AND hidden = 0 AND
ORDER BY datetime DESC
LIMIT 3;
我不是很有经验的SQL。请帮忙。
什么是“类别”字段?还有什么是'uid_local'和'uid_foreign'? – Hast 2013-03-11 17:52:48
'categories'字段是M:N关系表的uid_local。另一个字段是类别表的uid。 – 2013-03-11 18:04:42
@Dbugger如果你想拼接你的catimages,也就是说如果你想得到cat1.jpg,cat3.jpg,请使用group_concat。查看http://stackoverflow.com/questions/276927/can-i-concatenate-multiple-mysql-rows-into-one-field – 2013-03-11 18:24:40