Error interno de SQL server

27/08/2004 - 17:54 por Gustavo | Informe spam
Hola a todos, les comento mi duda

Ejecuto una consulta en SQL 7 que posee unas cuantas
subconsultas
esta consulta posee un sum de x campo y se encuentra
agrupada por otros campos
El error que me sale es "Error interno de SQL Server"
buscando en microsoft lei que tenia que bajar el SP 2 de
SQL, hice esto pero el problema persiste.

en todas las pruebas que hice me di cuenta que lo que le
molesta al motor es el sum (de la consulta contenedora)por
cualquier campo, ya que si lo saco anda de forma correcta.
pero como yo necesito este sum segui probando.

La solucion que encontre fue esta:
A una subconsulta le agregue la misma clausula where de la
consulta contenedora.

La duda que tengo es esta es posible que el motor del SQL
7 en determinados casos ejecuta las subconsultas sin tener
en cuenta el filtro que se hace en la consulta contenedora.
para luego filtrar todo junto.

Perdonen la extencion del mensaje pero queria explicarlo
de la manera mas clara posible.

JM



Select w.* from (select
nCod_tema,ncod_agencia,ncod_vehiculo,ncod_tcompra,
ncod_anunciante,sum(nRating_Calc)as nRating_Calc
from(select
nCod_tema,ncod_agencia,emision_tvrd.ncod_vehiculo,ncod_tcom
pra,ncod_anunciante,nRating_Calc = ( select Sum(S.nrating)
from (select nrating = (Select top 1 nrating from rating
as rating Where rating.nCod_Vehiculo =
emision_tvrd.nCod_Vehiculo and rating.nFecha =
emision_tvrd.nFecha and rating.nHora >= emision_tvrd.nHora
and nCod_Target = 4
Server

) ) as S)
from emision_tvrd
inner join vehiculo v on v.ncod_vehiculo =
emision_tvrd.nCod_Vehiculo and v.ncod_vehiculo_clase in
(1,3) Where nfecha between 20040801 and 20040816
) as S group by
nCod_tema,ncod_agencia,ncod_vehiculo,ncod_tcompra,ncod_anun
ciante
) as W

Preguntas similare

Leer las respuestas

#1 Manuel Etcheto
27/08/2004 - 19:44 | Informe spam
Hola,
En principio tenés un desbordamiento en el número que le pasas como fecha,
entiendo que para provocar una conversión implícita el where sería: between
'20040801' and '20040816' con comillas simples

o si lo querés como número: between 38198 and 38213 que son los números
respectivos
Suerte
Manuel


Gustavo escribió en el mensaje de
noticias 178e01c48c4e$32bb4d10$
Hola a todos, les comento mi duda

Ejecuto una consulta en SQL 7 que posee unas cuantas
subconsultas
esta consulta posee un sum de x campo y se encuentra
agrupada por otros campos
El error que me sale es "Error interno de SQL Server"
buscando en microsoft lei que tenia que bajar el SP 2 de
SQL, hice esto pero el problema persiste.

en todas las pruebas que hice me di cuenta que lo que le
molesta al motor es el sum (de la consulta contenedora)por
cualquier campo, ya que si lo saco anda de forma correcta.
pero como yo necesito este sum segui probando.

La solucion que encontre fue esta:
A una subconsulta le agregue la misma clausula where de la
consulta contenedora.

La duda que tengo es esta es posible que el motor del SQL
7 en determinados casos ejecuta las subconsultas sin tener
en cuenta el filtro que se hace en la consulta contenedora.
para luego filtrar todo junto.

Perdonen la extencion del mensaje pero queria explicarlo
de la manera mas clara posible.

JM



Select w.* from (select
nCod_tema,ncod_agencia,ncod_vehiculo,ncod_tcompra,
ncod_anunciante,sum(nRating_Calc)as nRating_Calc
from(select
nCod_tema,ncod_agencia,emision_tvrd.ncod_vehiculo,ncod_tcom
pra,ncod_anunciante,nRating_Calc = ( select Sum(S.nrating)
from (select nrating = (Select top 1 nrating from rating
as rating Where rating.nCod_Vehiculo > emision_tvrd.nCod_Vehiculo and rating.nFecha > emision_tvrd.nFecha and rating.nHora >= emision_tvrd.nHora
and nCod_Target = 4
Server

) ) as S)
from emision_tvrd
inner join vehiculo v on v.ncod_vehiculo > emision_tvrd.nCod_Vehiculo and v.ncod_vehiculo_clase in
(1,3) Where nfecha between 20040801 and 20040816
) as S group by
nCod_tema,ncod_agencia,ncod_vehiculo,ncod_tcompra,ncod_anun
ciante
) as W


Respuesta Responder a este mensaje
#2 Maxi
27/08/2004 - 20:34 | Informe spam
Hola, el service pack para sql7 que debes instalar es el 4


Salu2
Maxi
Buenos Aires - Argentina
Desarrollador Microsoft 3 Estrellas .NET
Nunca consideres el estudio como una obligación sino como
una oportunidad para penetrar en el bello y maravillosos
mundo del saber.
- Albert Einstein



"Gustavo" escribió en el mensaje
news:178e01c48c4e$32bb4d10$
Hola a todos, les comento mi duda

Ejecuto una consulta en SQL 7 que posee unas cuantas
subconsultas
esta consulta posee un sum de x campo y se encuentra
agrupada por otros campos
El error que me sale es "Error interno de SQL Server"
buscando en microsoft lei que tenia que bajar el SP 2 de
SQL, hice esto pero el problema persiste.

en todas las pruebas que hice me di cuenta que lo que le
molesta al motor es el sum (de la consulta contenedora)por
cualquier campo, ya que si lo saco anda de forma correcta.
pero como yo necesito este sum segui probando.

La solucion que encontre fue esta:
A una subconsulta le agregue la misma clausula where de la
consulta contenedora.

La duda que tengo es esta es posible que el motor del SQL
7 en determinados casos ejecuta las subconsultas sin tener
en cuenta el filtro que se hace en la consulta contenedora.
para luego filtrar todo junto.

Perdonen la extencion del mensaje pero queria explicarlo
de la manera mas clara posible.

JM



Select w.* from (select
nCod_tema,ncod_agencia,ncod_vehiculo,ncod_tcompra,
ncod_anunciante,sum(nRating_Calc)as nRating_Calc
from(select
nCod_tema,ncod_agencia,emision_tvrd.ncod_vehiculo,ncod_tcom
pra,ncod_anunciante,nRating_Calc = ( select Sum(S.nrating)
from (select nrating = (Select top 1 nrating from rating
as rating Where rating.nCod_Vehiculo > emision_tvrd.nCod_Vehiculo and rating.nFecha > emision_tvrd.nFecha and rating.nHora >= emision_tvrd.nHora
and nCod_Target = 4
Server

) ) as S)
from emision_tvrd
inner join vehiculo v on v.ncod_vehiculo > emision_tvrd.nCod_Vehiculo and v.ncod_vehiculo_clase in
(1,3) Where nfecha between 20040801 and 20040816
) as S group by
nCod_tema,ncod_agencia,ncod_vehiculo,ncod_tcompra,ncod_anun
ciante
) as W







Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.740 / Virus Database: 494 - Release Date: 16/08/2004
Respuesta Responder a este mensaje
#3 Anonimo
30/08/2004 - 14:34 | Informe spam
En realidad Nfecha es numerico

por esto lo manejo asi


Gustavo
Hola,
En principio tenés un desbordamiento en el número que le


pasas como fecha,
entiendo que para provocar una conversión implícita el


where sería: between
'20040801' and '20040816' con comillas simples

o si lo querés como número: between 38198 and 38213 que


son los números
respectivos
Suerte
Manuel


Gustavo escribió en


el mensaje de
noticias 178e01c48c4e$32bb4d10$
Hola a todos, les comento mi duda

Ejecuto una consulta en SQL 7 que posee unas cuantas
subconsultas
esta consulta posee un sum de x campo y se encuentra
agrupada por otros campos
El error que me sale es "Error interno de SQL Server"
buscando en microsoft lei que tenia que bajar el SP 2 de
SQL, hice esto pero el problema persiste.

en todas las pruebas que hice me di cuenta que lo que le
molesta al motor es el sum (de la consulta contenedora)




por
cualquier campo, ya que si lo saco anda de forma




correcta.
pero como yo necesito este sum segui probando.

La solucion que encontre fue esta:
A una subconsulta le agregue la misma clausula where de




la
consulta contenedora.

La duda que tengo es esta es posible que el motor del




SQL
7 en determinados casos ejecuta las subconsultas sin




tener
en cuenta el filtro que se hace en la consulta




contenedora.
para luego filtrar todo junto.

Perdonen la extencion del mensaje pero queria explicarlo
de la manera mas clara posible.

JM



Select w.* from (select
nCod_tema,ncod_agencia,ncod_vehiculo,ncod_tcompra,
ncod_anunciante,sum(nRating_Calc)as nRating_Calc
from(select





nCod_tema,ncod_agencia,emision_tvrd.ncod_vehiculo,ncod_tcom
pra,ncod_anunciante,nRating_Calc = ( select Sum




(S.nrating)
from (select nrating = (Select top 1 nrating from




rating
as rating Where rating.nCod_Vehiculo >> emision_tvrd.nCod_Vehiculo and rating.nFecha >> emision_tvrd.nFecha and rating.nHora >=




emision_tvrd.nHora
and nCod_Target = 4




SQL
Server

) ) as S)
from emision_tvrd
inner join vehiculo v on v.ncod_vehiculo >> emision_tvrd.nCod_Vehiculo and v.ncod_vehiculo_clase in
(1,3) Where nfecha between 20040801 and 20040816
) as S group by





nCod_tema,ncod_agencia,ncod_vehiculo,ncod_tcompra,ncod_anun
ciante
) as W






.

Respuesta Responder a este mensaje
#4 Anonimo
30/08/2004 - 14:35 | Informe spam
El SP que tengo es el 4

(disculpa que no lo puse en el mensaje original)

Gustavo


Hola, el service pack para sql7 que debes instalar es el 4


Salu2
-


-
Maxi
Buenos Aires - Argentina
Desarrollador Microsoft 3 Estrellas .NET
-


-
Nunca consideres el estudio como una obligación sino como
una oportunidad para penetrar en el bello y maravillosos
mundo del saber.
- Albert Einstein



"Gustavo" escribió


en el mensaje
news:178e01c48c4e$32bb4d10$
Hola a todos, les comento mi duda

Ejecuto una consulta en SQL 7 que posee unas cuantas
subconsultas
esta consulta posee un sum de x campo y se encuentra
agrupada por otros campos
El error que me sale es "Error interno de SQL Server"
buscando en microsoft lei que tenia que bajar el SP 2 de
SQL, hice esto pero el problema persiste.

en todas las pruebas que hice me di cuenta que lo que le
molesta al motor es el sum (de la consulta contenedora)




por
cualquier campo, ya que si lo saco anda de forma




correcta.
pero como yo necesito este sum segui probando.

La solucion que encontre fue esta:
A una subconsulta le agregue la misma clausula where de




la
consulta contenedora.

La duda que tengo es esta es posible que el motor del




SQL
7 en determinados casos ejecuta las subconsultas sin




tener
en cuenta el filtro que se hace en la consulta




contenedora.
para luego filtrar todo junto.

Perdonen la extencion del mensaje pero queria explicarlo
de la manera mas clara posible.

JM



Select w.* from (select
nCod_tema,ncod_agencia,ncod_vehiculo,ncod_tcompra,
ncod_anunciante,sum(nRating_Calc)as nRating_Calc
from(select





nCod_tema,ncod_agencia,emision_tvrd.ncod_vehiculo,ncod_tcom
pra,ncod_anunciante,nRating_Calc = ( select Sum




(S.nrating)
from (select nrating = (Select top 1 nrating from




rating
as rating Where rating.nCod_Vehiculo >> emision_tvrd.nCod_Vehiculo and rating.nFecha >> emision_tvrd.nFecha and rating.nHora >=




emision_tvrd.nHora
and nCod_Target = 4




SQL
Server

) ) as S)
from emision_tvrd
inner join vehiculo v on v.ncod_vehiculo >> emision_tvrd.nCod_Vehiculo and v.ncod_vehiculo_clase in
(1,3) Where nfecha between 20040801 and 20040816
) as S group by





nCod_tema,ncod_agencia,ncod_vehiculo,ncod_tcompra,ncod_anun
ciante
) as W







Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.740 / Virus Database: 494 - Release Date:


16/08/2004


.

email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida