如果满足条件,如何只获取特定的记录?
我的代码是
"SELECT a.id, a.text, a.uid, a.time
FROM story a INNER JOIN friends b
ON ((a.uid = '" . $uid . "') OR
(b.uid = '" . $uid . "' AND accepted='1') OR
(b.fid = '" . $uid . "' AND accepted='1'))
ORDER BY a.time DESC
LIMIT 3";它工作得很好,只是当friends表为空时,它将不会显示story记录。
我想要实现的是
E 222,并且其友谊被接受,则在表<中显示文本<代码>e 123故事<代码>e 224(意思是该故事来自朋友,只有在友谊被接受时才显示出来)发布于 2013-01-16 08:09:51
我认为您没有使用正确的连接格式。它应该是:
SELECT field_name
FROM table1 t1
INNER JOIN table2 t2
ON t1.id = t2.some_id
WHERE..您可以检查基本的这里。
在您的情况下,您应该按以下方式编写查询:
"SELECT a.id, a.text, a.uid, a.time
FROM story a INNER JOIN friends b
ON a.id = b.some_id WHERE ((a.uid = '" . $uid . "') OR
(b.uid = '" . $uid . "' AND accepted='1') OR
(b.fid = '" . $uid . "' AND accepted='1'))
ORDER BY a.time DESC
LIMIT 3";我想这会有帮助的。
https://stackoverflow.com/questions/14353647
复制相似问题