如果满足条件,我如何才能只获取特定记录?
我有代码为
"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";
Ngoàifriends
表为空时,它不会显示story
记录外,它工作正常。
我想要实现的是
如果表 story TRONG uid 等于 logged in uid(用户),则显示 chữ 来自表 story (意味着这是他自己的故事)
如果表 story TRONG uid 等于表 friends TRONG uid 及其友谊accepted OR 如果表 story TRONG uid 等于表中的 fid friends 并且它的友谊被接受 然后在表 story 中显示chữ(意味着故事来自 friend 并且仅在接受友谊时显示)
nếu như根本没有友谊,只显示故事表中的自己的故事并忽略其他
我认为您没有使用正确的连接格式。它应该是:
SELECT field_name
FROM table1 t1
INNER JOIN table2 t2
ON t1.id = t2.some_id
WHERE..
可以查基础đây .
在您的情况下,您应该按如下方式编写查询:
"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";
我认为这会有所帮助。
Tôi là một lập trình viên xuất sắc, rất giỏi!