Подзапрос Количество SQL - PullRequest
0 голосов
/ 09 апреля 2020

У меня есть этот код, мне нужно отсчитать строки. Я попытался сосчитать его, но получилось так: «Невозможно выполнить агрегатную функцию для выражения, содержащего агрегат или подзапрос».

Можете ли вы помочь мне с количеством строк, спасибо.

select count((
    select a.GIRIS_ZAMANI, a.CIKIS_ZAMANI, a.PLAKA, a.UCRET, b.KAMERA_ADI
    from ARAC_CIKIS a 
    left join KAMERALAR b 
    on b.KAMERA_ID = a.CIKIS_KAMERA_ID
    where a.CIKIS_ZAMANI between 
        (select cast(cast(sysutcdatetime() as date) as datetime) + cast('00:00:00' as datetime)) and 
        (select cast(cast(sysutcdatetime() as date) as datetime) + cast('23:59:59' as datetime)) and 
        a.UCRET>0
    )
)

Ответы [ 2 ]

1 голос
/ 09 апреля 2020

Вы можете попробовать ниже -

select count(*)
from
(
select a.GIRIS_ZAMANI, a.CIKIS_ZAMANI, a.PLAKA, a.UCRET, b.KAMERA_ADI  from ARAC_CIKIS a left join KAMERALAR b on b.KAMERA_ID = a.CIKIS_KAMERA_ID
  where a.CIKIS_ZAMANI between cast(cast(sysutcdatetime() as date) as datetime) 
    + cast('00:00:00' as datetime) and cast(cast(sysutcdatetime() as date) as datetime) 
    + cast('23:59:59' as datetime)
 and  a.UCRET>0
) A
0 голосов
/ 09 апреля 2020

Почему вы используете подзапрос?

select count(*)
from ARAC_CIKIS a left join
     KAMERALAR k
     on bkKAMERA_ID = a.CIKIS_KAMERA_ID
where a.CIKIS_ZAMANI between cast(cast(sysutcdatetime() as date) as datetime) + cast('00:00:00' as datetime) and
                             cast(cast(sysutcdatetime() as date) as datetime) + cast('23:59:59' as datetime) and
      a.UCRET > 0
...