cancel
Showing results for 
Search instead for 
Did you mean: 

Ayuda en Query Modulo de Servicio - Contrato de Servicio

Former Member
0 Kudos

Buenos Días

Consultores

He creado la siguiente consulta en base a los contrato de servicio en el cual se crearon 12 campos de usuarios en cual cada uno representa una fecha para las visitas. Pero la interrogante esta que fecha debo utilizar para hacer la busqueda en los 12 campos en la recuperacion de la información.

SELECT T0.[ContractID], T0.[CstmrCode], T0.[CstmrName],T0.[U_OrdCom] as 'Orden de Compra', T2.[street] as 'Modelo', T1.[ManufSN], T1.[ItemCode], T1.[ItemName],

T0.[U_cs_fe1],

T0.[U_cs_fe2],

T0.[U_cs_fe3],

T0.[U_cs_fe4],

T0.[U_cs_fe5],

T0.[U_cs_fe6],

T0.[U_cs_fe7],

T0.[U_cs_fe8],

T0.[U_cs_fe9],

T0.[U_cs_fe10],

T0.[U_cs_fe11],

T0.[U_cs_fe12]

INNER JOIN CTR1 T1 ON T0.ContractID = T1.ContractID INNER JOIN OINS T2 ON T1.InsID = T2.insID

/ Necesito hacer una llamada de Fecha para que me recupere los valores que están los 12 valores de Fecha/

WHERE T0.[StartDate] >=[%0] and T0.[EndDate] <=[%1]

GROUP BY T0.[ContractID], T0.[CstmrCode], T0.[CstmrName],T0.[U_OrdCom],

T2.[street], T1.[ManufSN], T1.[ItemCode], T1.[ItemName], T0.[U_cs_fe1], T0.[U_cs_fe2], T0.[U_cs_fe3], T0.[U_cs_fe4], T0.[U_cs_fe5], T0.[U_cs_fe6],

T0.[U_cs_fe7], T0.[U_cs_fe8], T0.[U_cs_fe9], T0.[U_cs_fe10], T0.[U_cs_fe11], T0.[U_cs_fe12] ORDER BY T0.[U_cs_fe1] ASC,T0.[U_cs_fe2] ASC, T0.[U_cs_fe3]

ASC,T0.[U_cs_fe4] ASC, T0.[U_cs_fe5] ASC,T0.[U_cs_fe6] ASC, T0.[U_cs_fe7] ASC, T0.[U_cs_fe8]ASC, T0.[U_cs_fe9] ASC, T0.[U_cs_fe10]ASC, T0.[U_cs_fe11] ASC,

T0.[U_cs_fe12] ASC

En espera de su colaboracion

Saludos

JV

Accepted Solutions (0)

Answers (3)

Answers (3)

Former Member
0 Kudos

Hola Buenas Tardes

Consultores

Al momento de seguir las indicaciones con la subconsulta el solo me recupera el valor de un solo contrato, necesito recuperar todos los contratos cuando asigno el rango de fecha.

Saludos

felipe_loyolarodriguez
Active Contributor
0 Kudos

Hola

Copiaste la subconsulta hacia abajo por cada campo de usuario

Ejemplo


(SELECT MAX(T.U_cs_fe1) FROM dbo.OCTR T WHERE T.ContractID = T0.ContractID AND T0.T0.StartDate >='[%0]' and T0.EndDate <='[%1]')
(SELECT MAX(T.U_cs_fe2) FROM dbo.OCTR T WHERE T.ContractID = T0.ContractID AND T0.T0.StartDate >='[%0]' and T0.EndDate <='[%1]')
(SELECT MAX(T.U_cs_fe3) FROM dbo.OCTR T WHERE T.ContractID = T0.ContractID AND T0.T0.StartDate >='[%0]' and T0.EndDate <='[%1]')
(SELECT MAX(T.U_cs_fe4) FROM dbo.OCTR T WHERE T.ContractID = T0.ContractID AND T0.T0.StartDate >='[%0]' and T0.EndDate <='[%1]')

Sino funciona asi, me gustaria que me explicaras mas sobre este campo de usurio o un pantallazo de lo que aparece en la tabla

saludos

FLR

Former Member
0 Kudos

Gracias por el aporte, pero al momento que coloco la sub-consulta me envia este mensaje :

"Must specify table to select from"

En espera de su colaboración

VJ

felipe_loyolarodriguez
Active Contributor
0 Kudos

Buenas

Mis disculpas, me falto agregar algo antes de la tabla


(SELECT T.U_cs_fe1 FROM dbo.OCTR T WHERE T.ContractID = T0.ContractID AND T0.T0.StartDate >='[%0]' and T0.EndDate <='[%1]')

Tambien prueba de esta forma...


(SELECT MAX(T.U_cs_fe1) FROM dbo.OCTR T WHERE T.ContractID = T0.ContractID AND T0.T0.StartDate >='[%0]' and T0.EndDate <='[%1]')

Atte.

FLR

Edited by: Floyola on Dec 20, 2010 12:36 PM

felipe_loyolarodriguez
Active Contributor
0 Kudos

Hola, que tal

Primero que todo, en tu query falta la clausula FROM para la tabla T0


FROM OCTR T0

Ahora bien, lo que puedes hacer con los campos de usuarios es una subquery.

Algo como esto.


(SELECT T.U_cs_fe1 FROM OCTR T WHERE T.ContractID = T0.ContractID AND T0.T0.StartDate >='[%0]' and T0.EndDate <='[%1]' 

Esto suponiendo que T0 = OCTR

Ojala te sirva, saludos

FLR