Sql “如何修复此错误”在选择列表中无效,因为它不包含在

Sql “如何修复此错误”在选择列表中无效,因为它不包含在,sql,sql-server,Sql,Sql Server,我在SQL中有以下代码: SELECT COUNT(*) as t, t1.EMPLID, t3.DNI, t1.PUNCH_DTTM, PUNCH_TYPE, TCD_ID, t2.PCADescripcion, t2.DFIDescripcion, t2.Alias, t5.apellido, t4.planta FROM [MatrizDB].[db_owner].[Historial_T

我在SQL中有以下代码:

SELECT 
    COUNT(*) as t,
    t1.EMPLID, 
    t3.DNI,
    t1.PUNCH_DTTM,
    PUNCH_TYPE,
    TCD_ID,
    t2.PCADescripcion,
    t2.DFIDescripcion,
    t2.Alias,
    t5.apellido,
    t4.planta
FROM 
    [MatrizDB].[db_owner].[Historial_TRH] t1
LEFT JOIN 
    MatrizDB.db_owner.Dispositivos_TRH t2 ON t2.RefId = TCD_ID
LEFT JOIN 
    MatrizDB.db_owner.Pipolsoft_Legajos t3 ON t3.EMPLID = t1.EMPLID
LEFT JOIN 
    [MatrizDB].[dbo].[nomina_fase_two] t4 ON t4.dni_id = t3.DNI 
LEFT JOIN 
    [MatrizDB].dbo.v_nomina t5 ON t5.nroDocumento = t4.dni_id
WHERE  
    CONVERT(VARCHAR(25), PUNCH_DTTM, 120) LIKE '2019-04-24%' 
    AND t4.dni_responsable = 30329134 
    AND PUNCH_TYPE = 5
当我执行查询时,我得到了这个错误

在选择列表中无效,因为它不包含在聚合函数或GROUP BY子句中


在使用聚合函数count时,必须将group by放入


这篇评论太长了

您不理解错误消息的哪一部分

select中有count*,因此您的查询是聚合查询。您没有分组依据;没有group by的聚合查询只返回一行。对于其他列,该行中应包含哪些值

一个答案是将所有未聚合的列放在group by中。另一种方法是从select中删除所有未聚合的列。另一种方法是用一个窗口函数替换count*,比如,count*over,或者我怀疑您想要的是orderby上的行数


如果没有样本数据、所需结果和您想做什么的解释,您的问题就太模糊了。

请提供样本数据、所需结果、您想做什么的解释以及适当的数据库标记。请参阅欢迎这样做,在发布问题之前,请在SO、Google、SQL文档上搜索。说真的,你刚刚忘记了GROUPBY子句。另外,请阅读帮助部分的提示,以编写一个好的问题
SELECT 
       count(*) as t
      ,t1.EMPLID
     ,t3.DNI
      ,t1.PUNCH_DTTM
      ,PUNCH_TYPE
      ,TCD_ID
      ,t2.PCADescripcion
      ,t2.DFIDescripcion
      ,t2.Alias
      ,t5.apellido
      ,t4.planta

  FROM [MatrizDB].[db_owner].[Historial_TRH] t1
      left join MatrizDB.db_owner.Dispositivos_TRH t2
        on t2.RefId = TCD_ID
     left join MatrizDB.db_owner.Pipolsoft_Legajos t3
        on t3.EMPLID = t1.EMPLID
     left join [MatrizDB].[dbo].[nomina_fase_two] t4
        on t4.dni_id = t3.DNI 
     left join [MatrizDB].dbo.v_nomina t5
        on t5.nroDocumento = t4.dni_id
  where  CONVERT(VARCHAR(25),PUNCH_DTTM,120) LIKE '2019-04-24%' 
         AND t4.dni_responsable = 30329134 and PUNCH_TYPE = 5
  group by t1.EMPLID
     ,t3.DNI
      ,t1.PUNCH_DTTM
      ,PUNCH_TYPE
      ,TCD_ID
      ,t2.PCADescripcion
      ,t2.DFIDescripcion
      ,t2.Alias
      ,t5.apellido
      ,t4.planta