Internal SQL Server Error

07/11/2006 - 15:03 por jcac | Informe spam
Hola lista tebgo un problema armando este query:

Select D.PROD_CodProd, Max(V.VALE_FecEmi),
(Select D1.DVAL_CostoPS From DetValesAlm D1 Inner Join Vales V1 On
D1.SUCR_Codigo = V1.SUCR_Codigo And D1.ALMA_Codigo = V1.ALMA_Codigo And
D1.TIPO_CodVale = V1.TIPO_CodVale And D1.VALE_NumVale = V1.VALE_NumVale
Where D.SUCR_Codigo = D1.SUCR_Codigo And D.ALMA_Codigo = D1.ALMA_Codigo
And D.TIPO_CodVale = D1.TIPO_CodVale And D.VALE_NumVale = D1.VALE_NumVale
And D.PROD_CodProd = D1.PROD_CodProd And Max(V.VALE_FecEmi) =
V1.VALE_FecEmi) As XX
From DetValesAlm D Inner Join Vales V On D.SUCR_Codigo = V.SUCR_Codigo And
D.ALMA_Codigo = V.ALMA_Codigo And D.TIPO_CodVale = V.TIPO_CodVale And
D.VALE_NumVale = V.VALE_NumVale
Where D.PROD_CodProd = '2130080001' And V.VALE_Estado = 'C' And
Month(V.VALE_FecEmi) = 9 And Year(V.VALE_FecEmi) = 2006
Group by D.PROD_CodProd


Cuando lo ejecute de esta manera no me pasa nada:

Select D.PROD_CodProd, Max(V.VALE_FecEmi)
From DetValesAlm D Inner Join Vales V On D.SUCR_Codigo = V.SUCR_Codigo And
D.ALMA_Codigo = V.ALMA_Codigo And D.TIPO_CodVale = V.TIPO_CodVale And
D.VALE_NumVale = V.VALE_NumVale
Where D.PROD_CodProd = '2130080001' And V.VALE_Estado = 'C' And
Month(V.VALE_FecEmi) = 9 And Year(V.VALE_FecEmi) = 2006
Group by D.PROD_CodProd

Ya que aqui consiguo el producto con su maxima fecha en un mes especifico,
sin embargo cuando deseo sacar su costo de ese producto lo hago haciendo el
primer query que le he puesto y me da el error del Asunto

Mi SQL Server es 2000 Standart con SP4 y corre bajo un Windows 2000 Server
SP4

Saludos y gracias por su tiempo

Preguntas similare

Leer las respuestas

#1 BitOne®
07/11/2006 - 16:38 | Informe spam
Esto se corrige con el services pack 4

http://support.microsoft.com/kb/286249/

revisa la version del services pack pls.

Select Serverproperty('ProductLevel')

BitOne®
www.yocsql.com



"jcac" wrote in message
news:#
Hola lista tebgo un problema armando este query:

Select D.PROD_CodProd, Max(V.VALE_FecEmi),
(Select D1.DVAL_CostoPS From DetValesAlm D1 Inner Join Vales V1 On
D1.SUCR_Codigo = V1.SUCR_Codigo And D1.ALMA_Codigo = V1.ALMA_Codigo And
D1.TIPO_CodVale = V1.TIPO_CodVale And D1.VALE_NumVale = V1.VALE_NumVale
Where D.SUCR_Codigo = D1.SUCR_Codigo And D.ALMA_Codigo = D1.ALMA_Codigo
And D.TIPO_CodVale = D1.TIPO_CodVale And D.VALE_NumVale = D1.VALE_NumVale
And D.PROD_CodProd = D1.PROD_CodProd And Max(V.VALE_FecEmi) > V1.VALE_FecEmi) As XX
From DetValesAlm D Inner Join Vales V On D.SUCR_Codigo = V.SUCR_Codigo


And
D.ALMA_Codigo = V.ALMA_Codigo And D.TIPO_CodVale = V.TIPO_CodVale And
D.VALE_NumVale = V.VALE_NumVale
Where D.PROD_CodProd = '2130080001' And V.VALE_Estado = 'C' And
Month(V.VALE_FecEmi) = 9 And Year(V.VALE_FecEmi) = 2006
Group by D.PROD_CodProd


Cuando lo ejecute de esta manera no me pasa nada:

Select D.PROD_CodProd, Max(V.VALE_FecEmi)
From DetValesAlm D Inner Join Vales V On D.SUCR_Codigo = V.SUCR_Codigo


And
D.ALMA_Codigo = V.ALMA_Codigo And D.TIPO_CodVale = V.TIPO_CodVale And
D.VALE_NumVale = V.VALE_NumVale
Where D.PROD_CodProd = '2130080001' And V.VALE_Estado = 'C' And
Month(V.VALE_FecEmi) = 9 And Year(V.VALE_FecEmi) = 2006
Group by D.PROD_CodProd

Ya que aqui consiguo el producto con su maxima fecha en un mes especifico,
sin embargo cuando deseo sacar su costo de ese producto lo hago haciendo


el
primer query que le he puesto y me da el error del Asunto

Mi SQL Server es 2000 Standart con SP4 y corre bajo un Windows 2000 Server
SP4

Saludos y gracias por su tiempo


Respuesta Responder a este mensaje
#2 Ele
07/11/2006 - 16:45 | Informe spam
Este error aparece cuando usas una funcion de agregacion dentro de un
subquery checa la linea
And Max(V.VALE_FecEmi) = V1.VALE_FecEmi) As XX
pero ademas V es una tabla que esta en el from principal y estas utilizando
inner join si le quitas el inner join (en el from principal) ya no te sale
el error

"jcac" escribió en el mensaje
news:%
Hola lista tebgo un problema armando este query:

Select D.PROD_CodProd, Max(V.VALE_FecEmi),
(Select D1.DVAL_CostoPS From DetValesAlm D1 Inner Join Vales V1 On
D1.SUCR_Codigo = V1.SUCR_Codigo And D1.ALMA_Codigo = V1.ALMA_Codigo And
D1.TIPO_CodVale = V1.TIPO_CodVale And D1.VALE_NumVale = V1.VALE_NumVale
Where D.SUCR_Codigo = D1.SUCR_Codigo And D.ALMA_Codigo = D1.ALMA_Codigo
And D.TIPO_CodVale = D1.TIPO_CodVale And D.VALE_NumVale = D1.VALE_NumVale
And D.PROD_CodProd = D1.PROD_CodProd And Max(V.VALE_FecEmi) =
V1.VALE_FecEmi) As XX
From DetValesAlm D Inner Join Vales V On D.SUCR_Codigo = V.SUCR_Codigo And
D.ALMA_Codigo = V.ALMA_Codigo And D.TIPO_CodVale = V.TIPO_CodVale And
D.VALE_NumVale = V.VALE_NumVale
Where D.PROD_CodProd = '2130080001' And V.VALE_Estado = 'C' And
Month(V.VALE_FecEmi) = 9 And Year(V.VALE_FecEmi) = 2006
Group by D.PROD_CodProd


Cuando lo ejecute de esta manera no me pasa nada:

Select D.PROD_CodProd, Max(V.VALE_FecEmi)
From DetValesAlm D Inner Join Vales V On D.SUCR_Codigo = V.SUCR_Codigo And
D.ALMA_Codigo = V.ALMA_Codigo And D.TIPO_CodVale = V.TIPO_CodVale And
D.VALE_NumVale = V.VALE_NumVale
Where D.PROD_CodProd = '2130080001' And V.VALE_Estado = 'C' And
Month(V.VALE_FecEmi) = 9 And Year(V.VALE_FecEmi) = 2006
Group by D.PROD_CodProd

Ya que aqui consiguo el producto con su maxima fecha en un mes especifico,
sin embargo cuando deseo sacar su costo de ese producto lo hago haciendo
el primer query que le he puesto y me da el error del Asunto

Mi SQL Server es 2000 Standart con SP4 y corre bajo un Windows 2000 Server
SP4

Saludos y gracias por su tiempo

Respuesta Responder a este mensaje
#3 Alejandro Mesa
07/11/2006 - 16:46 | Informe spam
Trata:

Select
D.PROD_CodProd,
V.VALE_FecEmi,
D.DVAL_CostoPS
From
DetValesAlm D
Inner Join
Vales V
On D.SUCR_Codigo = V.SUCR_Codigo
And D.ALMA_Codigo = V.ALMA_Codigo
And D.TIPO_CodVale = V.TIPO_CodVale
And D.VALE_NumVale = V.VALE_NumVale
Where
D.PROD_CodProd = '2130080001'
And V.VALE_Estado = 'C'
And V.VALE_FecEmi = (
Select
Max(V.VALE_FecEmi)
From
DetValesAlm D 1
Inner Join
Vales V1
On D1.SUCR_Codigo = V1.SUCR_Codigo
And D1.ALMA_Codigo = V1.ALMA_Codigo
And D1.TIPO_CodVale = V1.TIPO_CodVale
And D1.VALE_NumVale = V1.VALE_NumVale
Where
D1.PROD_CodProd = D.PROD_CodProd
And V1.VALE_Estado = V.VALE_Estado
and V1.VALE_FecEmi >= '20060901' and V1.VALE_FecEmi < '20061001'
)
go


AMB


"jcac" wrote:

Hola lista tebgo un problema armando este query:

Select D.PROD_CodProd, Max(V.VALE_FecEmi),
(Select D1.DVAL_CostoPS From DetValesAlm D1 Inner Join Vales V1 On
D1.SUCR_Codigo = V1.SUCR_Codigo And D1.ALMA_Codigo = V1.ALMA_Codigo And
D1.TIPO_CodVale = V1.TIPO_CodVale And D1.VALE_NumVale = V1.VALE_NumVale
Where D.SUCR_Codigo = D1.SUCR_Codigo And D.ALMA_Codigo = D1.ALMA_Codigo
And D.TIPO_CodVale = D1.TIPO_CodVale And D.VALE_NumVale = D1.VALE_NumVale
And D.PROD_CodProd = D1.PROD_CodProd And Max(V.VALE_FecEmi) =
V1.VALE_FecEmi) As XX
From DetValesAlm D Inner Join Vales V On D.SUCR_Codigo = V.SUCR_Codigo And
D.ALMA_Codigo = V.ALMA_Codigo And D.TIPO_CodVale = V.TIPO_CodVale And
D.VALE_NumVale = V.VALE_NumVale
Where D.PROD_CodProd = '2130080001' And V.VALE_Estado = 'C' And
Month(V.VALE_FecEmi) = 9 And Year(V.VALE_FecEmi) = 2006
Group by D.PROD_CodProd


Cuando lo ejecute de esta manera no me pasa nada:

Select D.PROD_CodProd, Max(V.VALE_FecEmi)
From DetValesAlm D Inner Join Vales V On D.SUCR_Codigo = V.SUCR_Codigo And
D.ALMA_Codigo = V.ALMA_Codigo And D.TIPO_CodVale = V.TIPO_CodVale And
D.VALE_NumVale = V.VALE_NumVale
Where D.PROD_CodProd = '2130080001' And V.VALE_Estado = 'C' And
Month(V.VALE_FecEmi) = 9 And Year(V.VALE_FecEmi) = 2006
Group by D.PROD_CodProd

Ya que aqui consiguo el producto con su maxima fecha en un mes especifico,
sin embargo cuando deseo sacar su costo de ese producto lo hago haciendo el
primer query que le he puesto y me da el error del Asunto

Mi SQL Server es 2000 Standart con SP4 y corre bajo un Windows 2000 Server
SP4

Saludos y gracias por su tiempo



Respuesta Responder a este mensaje
#4 jcac
07/11/2006 - 16:47 | Informe spam
Hola BitOne

Mira hago la ejecución de lo que me indicas
Select ServerProperty('ProductLevel')
SP4

Cuando ejecuto el query me da este error

Server: Msg 8624, Level 16, State 16, Line 1
Internal SQL Server error.

Bueno pienso que el level y state pueden variar pero el msg sigue siendo el
mismo.

Que mas podria probar o lo cambio el query de otra manera

Saludos


"BitOne®" escribió en el mensaje
news:
Esto se corrige con el services pack 4

http://support.microsoft.com/kb/286249/

revisa la version del services pack pls.

Select Serverproperty('ProductLevel')

BitOne®
www.yocsql.com



"jcac" wrote in message
news:#
Hola lista tebgo un problema armando este query:

Select D.PROD_CodProd, Max(V.VALE_FecEmi),
(Select D1.DVAL_CostoPS From DetValesAlm D1 Inner Join Vales V1 On
D1.SUCR_Codigo = V1.SUCR_Codigo And D1.ALMA_Codigo = V1.ALMA_Codigo And
D1.TIPO_CodVale = V1.TIPO_CodVale And D1.VALE_NumVale = V1.VALE_NumVale
Where D.SUCR_Codigo = D1.SUCR_Codigo And D.ALMA_Codigo = D1.ALMA_Codigo
And D.TIPO_CodVale = D1.TIPO_CodVale And D.VALE_NumVale = D1.VALE_NumVale
And D.PROD_CodProd = D1.PROD_CodProd And Max(V.VALE_FecEmi) >> V1.VALE_FecEmi) As XX
From DetValesAlm D Inner Join Vales V On D.SUCR_Codigo = V.SUCR_Codigo


And
D.ALMA_Codigo = V.ALMA_Codigo And D.TIPO_CodVale = V.TIPO_CodVale And
D.VALE_NumVale = V.VALE_NumVale
Where D.PROD_CodProd = '2130080001' And V.VALE_Estado = 'C' And
Month(V.VALE_FecEmi) = 9 And Year(V.VALE_FecEmi) = 2006
Group by D.PROD_CodProd


Cuando lo ejecute de esta manera no me pasa nada:

Select D.PROD_CodProd, Max(V.VALE_FecEmi)
From DetValesAlm D Inner Join Vales V On D.SUCR_Codigo = V.SUCR_Codigo


And
D.ALMA_Codigo = V.ALMA_Codigo And D.TIPO_CodVale = V.TIPO_CodVale And
D.VALE_NumVale = V.VALE_NumVale
Where D.PROD_CodProd = '2130080001' And V.VALE_Estado = 'C' And
Month(V.VALE_FecEmi) = 9 And Year(V.VALE_FecEmi) = 2006
Group by D.PROD_CodProd

Ya que aqui consiguo el producto con su maxima fecha en un mes
especifico,
sin embargo cuando deseo sacar su costo de ese producto lo hago haciendo


el
primer query que le he puesto y me da el error del Asunto

Mi SQL Server es 2000 Standart con SP4 y corre bajo un Windows 2000
Server
SP4

Saludos y gracias por su tiempo






Respuesta Responder a este mensaje
#5 Alejandro Mesa
07/11/2006 - 16:53 | Informe spam
Correccion:

Select
D.PROD_CodProd,
V.VALE_FecEmi,
D.DVAL_CostoPS
From
DetValesAlm D
Inner Join
Vales V
On D.SUCR_Codigo = V.SUCR_Codigo
And D.ALMA_Codigo = V.ALMA_Codigo
And D.TIPO_CodVale = V.TIPO_CodVale
And D.VALE_NumVale = V.VALE_NumVale
Where
D.PROD_CodProd = '2130080001'
And V.VALE_Estado = 'C'
And V.VALE_FecEmi = (
Select
Max(V1.VALE_FecEmi)
From
DetValesAlm D 1
Inner Join
Vales V1
On D1.SUCR_Codigo = V1.SUCR_Codigo
And D1.ALMA_Codigo = V1.ALMA_Codigo
And D1.TIPO_CodVale = V1.TIPO_CodVale
And D1.VALE_NumVale = V1.VALE_NumVale
Where
D1.PROD_CodProd = D.PROD_CodProd
And V1.VALE_Estado = V.VALE_Estado
and V1.VALE_FecEmi >= '20060901' and V1.VALE_FecEmi < '20061001'
)
go


AMB

"Alejandro Mesa" wrote:

Trata:

Select
D.PROD_CodProd,
V.VALE_FecEmi,
D.DVAL_CostoPS
From
DetValesAlm D
Inner Join
Vales V
On D.SUCR_Codigo = V.SUCR_Codigo
And D.ALMA_Codigo = V.ALMA_Codigo
And D.TIPO_CodVale = V.TIPO_CodVale
And D.VALE_NumVale = V.VALE_NumVale
Where
D.PROD_CodProd = '2130080001'
And V.VALE_Estado = 'C'
And V.VALE_FecEmi = (
Select
Max(V.VALE_FecEmi)
From
DetValesAlm D 1
Inner Join
Vales V1
On D1.SUCR_Codigo = V1.SUCR_Codigo
And D1.ALMA_Codigo = V1.ALMA_Codigo
And D1.TIPO_CodVale = V1.TIPO_CodVale
And D1.VALE_NumVale = V1.VALE_NumVale
Where
D1.PROD_CodProd = D.PROD_CodProd
And V1.VALE_Estado = V.VALE_Estado
and V1.VALE_FecEmi >= '20060901' and V1.VALE_FecEmi < '20061001'
)
go


AMB


"jcac" wrote:

> Hola lista tebgo un problema armando este query:
>
> Select D.PROD_CodProd, Max(V.VALE_FecEmi),
> (Select D1.DVAL_CostoPS From DetValesAlm D1 Inner Join Vales V1 On
> D1.SUCR_Codigo = V1.SUCR_Codigo And D1.ALMA_Codigo = V1.ALMA_Codigo And
> D1.TIPO_CodVale = V1.TIPO_CodVale And D1.VALE_NumVale = V1.VALE_NumVale
> Where D.SUCR_Codigo = D1.SUCR_Codigo And D.ALMA_Codigo = D1.ALMA_Codigo
> And D.TIPO_CodVale = D1.TIPO_CodVale And D.VALE_NumVale = D1.VALE_NumVale
> And D.PROD_CodProd = D1.PROD_CodProd And Max(V.VALE_FecEmi) =
> V1.VALE_FecEmi) As XX
> From DetValesAlm D Inner Join Vales V On D.SUCR_Codigo = V.SUCR_Codigo And
> D.ALMA_Codigo = V.ALMA_Codigo And D.TIPO_CodVale = V.TIPO_CodVale And
> D.VALE_NumVale = V.VALE_NumVale
> Where D.PROD_CodProd = '2130080001' And V.VALE_Estado = 'C' And
> Month(V.VALE_FecEmi) = 9 And Year(V.VALE_FecEmi) = 2006
> Group by D.PROD_CodProd
>
>
> Cuando lo ejecute de esta manera no me pasa nada:
>
> Select D.PROD_CodProd, Max(V.VALE_FecEmi)
> From DetValesAlm D Inner Join Vales V On D.SUCR_Codigo = V.SUCR_Codigo And
> D.ALMA_Codigo = V.ALMA_Codigo And D.TIPO_CodVale = V.TIPO_CodVale And
> D.VALE_NumVale = V.VALE_NumVale
> Where D.PROD_CodProd = '2130080001' And V.VALE_Estado = 'C' And
> Month(V.VALE_FecEmi) = 9 And Year(V.VALE_FecEmi) = 2006
> Group by D.PROD_CodProd
>
> Ya que aqui consiguo el producto con su maxima fecha en un mes especifico,
> sin embargo cuando deseo sacar su costo de ese producto lo hago haciendo el
> primer query que le he puesto y me da el error del Asunto
>
> Mi SQL Server es 2000 Standart con SP4 y corre bajo un Windows 2000 Server
> SP4
>
> Saludos y gracias por su tiempo
>
>
>
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida