1

简要说明:刚才我目前使用以下代码获得了结果列表。我正在尝试按's对我的u_feed结果进行分组。c_feed id

$uid = '15';

SELECT u.uid, u.fid, f.url,f.icon, u.title, f.favicon, f.domain FROM u_feed u INNER JOIN feed f ON f.id = u.fid WHERE u.uid = '$uid'

我刚刚添加了一个名为的表c_feed,它将保存每个类别的nameand uid。然后该u_feed表将使用该列来cid检查c_feed.id

表 c_feed

在此处输入图像描述

餐桌饲料 在此处输入图像描述

表 u_feed 在此处输入图像描述

我试过 SELECT u.uid, u.fid, f.url, f.icon, u.title, f.favicon, f.domain, c.cname FROM u_feed u INNER JOIN feed f ON f.id = u.fid INNER JOIN c_feed c ON c.id = u.cid WHERE u.uid = '15' LIMIT 0 , 30

这只返回 在此处输入图像描述

但它应该有 11 行(下图没有分组)

在此处输入图像描述

4

1 回答 1

1

inner join如果 c_feed 中存在关联记录,则仅包含该记录是您的。所以你得到的唯一记录是两个WITH a cid

您可能正在寻找left joins。

SELECT u.uid, u.fid, f.url, f.icon, u.title, f.favicon, f.domain, c.cname 
FROM u_feed u 
LEFT JOIN feed f ON f.id = u.fid 
LEFT JOIN c_feed c ON c.id = u.cid 
WHERE u.uid = '15' LIMIT 0 , 30
于 2013-09-24T14:42:52.437 回答