西西河

主题:【求助】实现送花功能的SQL语法求助,回复者花 -- 卷心菜

共:💬23 🌺28
全看分页树展 · 主题 跟帖
家园 你的要求是有难度的

你的原始查询是列出某个发言者参与过的所有主题(不管他是不是这个主题的发起人)。对于一个主题,当他只是跟帖者的时候,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']."

全看分页树展 · 主题 跟帖


有趣有益,互惠互利;开阔视野,博采众长。
虚拟的网络,真实的人。天南地北客,相逢皆朋友

Copyright © cchere 西西河