主题:【求助】实现送花功能的SQL语法求助,回复者花 -- 卷心菜
你的原始查询是列出某个发言者参与过的所有主题(不管他是不是这个主题的发起人)。对于一个主题,当他只是跟帖者的时候,ibf_posts中对应author_id记录的row并不是你想输出rep_inc(花)和rep_dec(草)的row,这才是问题的关键。所以,如果你不想分两步做的话,就要一点技巧,我这里用“别名”(Alias)。
$query = "SELECT DISTINCT(post1.author_id), ibf_topics.*, post2.rep_inc, post2.rep_dec
FROM ibf_topics
LEFT JOIN ibf_posts AS post1 ON
(ibf_topics.tid=post1.topic_id AND post1.author_id=".$ibforums->member['id'].")
LEFT JOIN ibf_posts AS post2 ON
(ibf_topics.starter_id=post2.author_id AND ibf_topics.start_date=post2.post_date)
WHERE ibf_topics.forum_id=".$this->forum['id']."
- 相关回复 上下关系8
🙂也不能说得太绝对 2 沉宝 字402 2008-11-04 18:08:05
🙂现在规模还不大 1 卷心菜 字240 2008-11-05 03:53:50
🙂具体需求决定具体方法 2 国之小民 字184 2008-11-05 05:05:13
🙂你的要求是有难度的
🙂哈,这正是我需要的 卷心菜 字38 2008-11-04 14:59:47
🙂问题已经解决,感谢留言的朋友 1 卷心菜 字430 2008-11-04 06:19:15
🙂我觉得应该适当更改一下表结构 2 深空探索 字353 2008-11-04 05:54:46
🙂这也是个办法 卷心菜 字150 2008-11-04 06:12:28