当前位置: 代码迷 >> Sql Server >> sql2005查询语句有关问题
  详细解决方案

sql2005查询语句有关问题

热度:80   发布时间:2016-04-27 13:31:22.0
sql2005查询语句问题
查询所有的类别信息 当num为0时查询所有的,num为1时则根据id查询一条
if (num == 0) {
sql = "SELECT l.id,l.name,l.shuoming,count(p.lid),l.contenttime FROM photo AS p "
+ " RIGHT JOIN leibie AS l ON p.lid=l.id GROUP BY l.id ";
} else if (num == 1) {
sql = "SELECT l.id,l.name,l.shuoming,count(p.lid),l.contenttime FROM photo AS p "
+ " RIGHT JOIN leibie AS l ON p.lid=l.id where l.id="
+ id
+ " GROUP BY l.id ";
提示错误:com.microsoft.sqlserver.jdbc.SQLServerException: 选择列表中的列 'leibie.name' 无效,因为该列没有包含在聚合函数或 GROUP BY 子句中。向各位高手请教啊

------解决方案--------------------
SQL code
if (num == 0) {sql = "SELECT l.id,l.name,l.shuoming,count(p.lid),l.contenttime FROM photo AS p "+ " RIGHT JOIN leibie AS l ON p.lid=l.id GROUP BY l.id,l.name,l.shuoming ,l.contenttime";} else if (num == 1) {sql = "SELECT l.id,l.name,l.shuoming,count(p.lid),l.contenttime FROM photo AS p "+ " RIGHT JOIN leibie AS l ON p.lid=l.id where l.id="+ id+ " GROUP BY l.id,l.name,l.shuoming,l.contenttime ";---GROUP BY l.id,l.name,l.shuoming,l.contenttime
  相关解决方案