Sql – No es posible usar una función de agregado con una expresión que contiene un agregado o una subconsulta

publicado por: Anonymous

Estoy teniendo este resultado cuando trato de ejecutar mi SP aúnque podría jurar que ya lo había hecho funcionar. Si alguien me puede decir que estoy haciendo malo estaría muy agradecido.

Line 166 [Batch Start Line 10]
No es posible usar una función de agregado con una expresión que contiene un agregado o una subconsulta.

_x000D_

_x000D_

eclare @listaDePagos varchar(max) = ''_x000D_
IF OBJECT_ID('tempdb..#ids') is not null DROP TABLE# ids_x000D_
_x000D_
create table# ids([Id] int);_x000D_
--SELECT * FROM Split('1,2,3,4', ',')_x000D_
_x000D_
insert into# ids--estos son id 's de pagos_x000D_
select *_x000D_
  from Split(@listaDePagos, ',')_x000D_
_x000D_
while (count((select id from# ids)) > 0) --Aqui es donde marca mi error :s_x000D_
  begin_x000D_
set @IdPago = (select top(1) id from# ids)_x000D_
_x000D_
insert into PagoOrdenes_x000D_
  (IdPago, Activo)_x000D_
values(@IdPago, 1)_x000D_
_x000D_
DELETE TOP(1) FROM# ids_x000D_
end

_x000D_

_x000D_

_x000D_

solución

COUNT se utiliza dentro del select ya que es una función de agregado.

Reemplaza:

while (count((select id from# ids)) > 0)

Por:

while ((select count(id) from# ids) > 0)
Respondido por: Anonymous

Leave a Reply

Your email address will not be published. Required fields are marked *