要读取某栏目(catalog)及其子栏目(可能有也可能没有)下的所有文章(article),article表有字段catalog_id,用拼接字符串的形式,发现只会读取到catalog_id为10的所有文章
select * from article where article.catalog_id IN (
select CONCAT_WS(',',10,GROUP_CONCAT(id)) from catalog where catalog.top_id=10
);
请问我哪里写错了?
如果catalog 里有id=1,2,3,4的, GROUP_CONCAT(id)返回
'1,2,3,4'
,CONCAT_WS(',',10,GROUP_CONCAT(id))将返回
'10,1,2,3,4'
,注意这里都是带引号的,意味着这是字符串相当于是
显示这里引号起了副作用
改成这个试试?
因为不是很清楚你的表结构和数据, 也许这并不是你想要的 ;)