Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SQl,多个问题(连接中的参数和将列放入行中_Sql_Sql Server - Fatal编程技术网

SQl,多个问题(连接中的参数和将列放入行中

SQl,多个问题(连接中的参数和将列放入行中,sql,sql-server,Sql,Sql Server,我尝试按日期mm/yyyy对表进行分组,然后按发票类型对表进行分组,我尝试输入下面的代码,但不断收到错误“无效列日期” SELECT RIGHT(CONVERT(VARCHAR(10), case_createddate, 103), 7) AS Date, case_invoicetype, Sum(case_totalexvat) FROM cases AS ca WHERE case_primaryCompanyid = 1111 GROUP BY ca

我尝试按日期mm/yyyy对表进行分组,然后按发票类型对表进行分组,我尝试输入下面的代码,但不断收到错误“无效列日期”

SELECT RIGHT(CONVERT(VARCHAR(10), case_createddate, 103), 7) AS Date,
       case_invoicetype,
       Sum(case_totalexvat)
FROM   cases AS ca
WHERE  case_primaryCompanyid = 1111
GROUP  BY ca.Date,
          case_invoicetype 
我试过这个:

group by YEAR(case_createddate), MONTH(case_createddate)
但我得到了一个错误:

case_createddate在选择列表中无效,因为它不是 包含在聚合函数或group by子句中

有什么想法吗


谢谢

在整个表达式中使用GROUP BY子句

SELECT RIGHT(CONVERT(VARCHAR(10), case_createddate, 103), 7) AS Date,
       case_invoicetype,
       Sum(case_totalexvat)
FROM   cases AS ca
WHERE  case_primaryCompanyid = 1111
GROUP  BY RIGHT(CONVERT(VARCHAR(10), case_createddate, 103), 7),
          case_invoicetype 

您需要在group by子句中包含select中的所有非聚合列。ca。日期不在select中,我猜想您希望这样:

SELECT RIGHT(CONVERT(VARCHAR(10), case_createddate, 103), 7) AS Date,
       case_invoicetype,
       Sum(case_totalexvat)
FROM   cases AS ca
WHERE  case_primaryCompanyid = 1111
GROUP  BY RIGHT(CONVERT(VARCHAR(10), case_createddate, 103), 7),
          case_invoicetype 

谢谢Alexander,修复了它,只是不确定语法