首先,我想谈谈我所遵循的基本结构。假设我有一个名为td_idea的表,它的结构如下所示:
|-------------------------------------------------------------------|
| idea_id | idea_name | idea_submitter_id | idea_status |
|----------|--------------|----------------------|------------------|然后,我有一个名为td_idea_contribution的表,用于显示用户对特定想法的贡献:
|-------------------------------------------------|
| contribution_id | idea_id | submitter_id |
|------------------|------------|-----------------|最后是td_idea_contribution_like表:
|-------------------------------------------------|
| like_id | contribution_id | submitter_id |
|----------|--------------------|-----------------|我想显示基于特定idea_id的所有贡献,列出的每一个贡献也将显示对该特定贡献的投票数。
下面是使用查询实现的目标:
$sql="SELECT td_idea.*,td_idea_contribution.*,COUNT(td_idea_contribution_like.*) AS tot_like
FROM td_idea,td_idea_contribution,td_idea_contribution_like
WHERE td_idea.idea_id=td_idea_contribution.idea_id
AND td_idea_contribution.contribution_id=td_idea_contribution_like.contribution_id
AND td_idea.idea_id='$id'
AND td_idea_contribution.contribution_type='Design' ORDER BY tot_like DESC";但是SQL字符串显示了错误。错误如下
您的SQL语法有错误;请检查与您的MySQL服务器版本对应的手册,以获得在第1行使用“*) AS td_idea_contribution_like.tot_like”的正确语法。
发布于 2013-05-24 06:09:26
COUNT(td_idea_contribution_like.*)是这里的问题
*意味着您在这里指定了多个列。
https://stackoverflow.com/questions/16728618
复制相似问题