求助,我一条sql语句不会写了。卡了1个小时了
发布网友
发布时间:2022-05-22 21:24
我来回答
共3个回答
热心网友
时间:2023-10-08 22:45
什么样的语句?说来听听
第一眼一看你的语句,GROUP BY就已经错了。
COUNT()之外你选了那么多列来分组,而最后的GROUP BY分组里面居然只有一个列。
按照你的SELECT这个语句要这么写
SELECT [count(mid) as 回复],[a.id],[title],[tname],[createtime],[a.ip]
FROM
tb_Invitation as a,tb_Type as b,tb_Message as c
WHERE a.tid=b.tid and a.id=c.id and a.uid=?
GROUP BY [a.id],[title],[tname],[createtime],[a.ip]
但是估计这恐怕不是你要的效果吧?
但是你这个语句,既然count()后边是按照那么多分组的,后边的GROUP BY就必须一致追问SELECT [count(mid) as 回复],[a.id],[title],[tname],[createtime],[a.ip]
FROM
tb_Invitation as a,tb_Type as b,tb_Message as c
WHERE a.tid=b.tid and a.id=c.id and a.uid=1
GROUP BY [a.id],[title],[tname],[createtime],[a.ip]
追答您好,把id用方括号括起来看看。
另外这个错误是VS报出来了,应该是查询语句缺少参数,是不是哪个参数没有传递进去?
这个语句您放到后台执行一下看看,肯定是不会报错的。
您跟踪一下程序调试一下吧,看错误提示,是有一个参数没有获取到值。应该就是之前的uid,您这个查询是自己手动赋值上去的,是不是在程序运行中,uid的参数没有取到?
热心网友
时间:2023-10-08 22:45
这人真是的,你不说人家咋知道呢?追问SELECT [count(mid) as 回复],[a.id],[title],[tname],[createtime],[a.ip]
FROM
tb_Invitation as a,tb_Type as b,tb_Message as c
WHERE a.tid=b.tid and a.id=c.id and a.uid=1
GROUP BY [a.id],[title],[tname],[createtime],[a.ip]
追答我测试过:SELECT count(mid) as 回复,a.id,title,tname,createtime,a.ip
FROM tb_Invitation as a,tb_Type as b,tb_Message as c
WHERE a.tid=b.tid and a.id=c.id and a.uid=1
GROUP BY a.id,title,tname,createtime,a.ip
能够执行,不会报错。
热心网友
时间:2023-10-08 22:46
什么语句你都没说清楚追问SELECT [count(mid) as 回复],[a.id],[title],[tname],[createtime],[a.ip]
FROM
tb_Invitation as a,tb_Type as b,tb_Message as c
WHERE a.tid=b.tid and a.id=c.id and a.uid=1
GROUP BY [a.id],[title],[tname],[createtime],[a.ip]