有三个表 doc表 categorie表 和categorielink 表
三表数据如下
doc
did title content
1 这是新闻 这是新闻内容
categorie cid pid name
1 0 山东省
2 1 菏泽市
3 2 曹县
categorielinkdid id cid
1 1 0
1 2 1
1 3 2
比如有一条id为1的新闻,我想通过doc.did 来确定 这条新闻属于哪个地方的,但是 地方一定都要显示出来 在这里应该显示为
did title content name其中name 包括 山东省 菏泽市 曹县
三表数据如下
doc
did title content
1 这是新闻 这是新闻内容
categorie cid pid name
1 0 山东省
2 1 菏泽市
3 2 曹县
categorielinkdid id cid
1 1 0
1 2 1
1 3 2
比如有一条id为1的新闻,我想通过doc.did 来确定 这条新闻属于哪个地方的,但是 地方一定都要显示出来 在这里应该显示为
did title content name其中name 包括 山东省 菏泽市 曹县
left join doc as b on(a.did=b.did)
left join categorie as c on(a.cid=c.cid)
where a.id=1
第一个是 连接查询新闻 和所在的地区的ID
第二个 根据得到ID再查询到地名...
SELECT d . * , GROUP_CONCAT( c.name
SEPARATOR ' ' ) AS name
FROM `doc` AS d
LEFT JOIN categorielink AS cl ON cl.did = d.did
LEFT JOIN categorie AS c ON c.cid = cl.id
WHERE 1
GROUP BY cl.did
did title content name
1 这是新闻 这是内容 山东 菏泽 曹县
select d.did,d.title,d.content,c.name from doc as d, categorie as c, categorielink as cl where d.did = cl.did and cl.cid = c.cid 看下这样可不可以。