on 12-17-2010 3:11 PM
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
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
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
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
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
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
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
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
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
98 | |
11 | |
11 | |
6 | |
6 | |
4 | |
4 | |
3 | |
3 | |
3 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.