Consulta Mysql complicada

Hola a todos soy nuevo en mysql pero estuve leyendo la teoría de las consultas y sigo sin saber como puedo hacer esta consulta, les cuento una introducción muy breve para no meterme en complicaciones de lo que necesito hacer. La empresa en la que trabajo da servicios electrónicos de consultoría en comercio exterior, se recibe la solicitud de servicio con 3 datos importantes Aduana, No Autorización y Pedimento, el servicio se da en automático y al final del mes se le cobra a cada cliente por el numero de servicios que obtuvo. Ahora bien, tengo las siguientes dos tablas:
Tabla 1: (Información de todos los servicios que dio la empresa en un periodo)
bla bla       bla bla           Aduana               No Autorizacion              Pedimento
.
.
.
Tabla 2 (Pedimentos-Aduana - Patente por cliente)
Cliente Aduana Patente Rango inicial Pedimento Rango Final Pedimento
1 67 3435 9000001 9000800
1 67 3435 9009000 9010000
1 07 3435 9000000 9999999
1 07 3066 9000010 90000070
2 . . .
Lo que necesito es crear una consulta en la que en base a estas dos tablas mencionadas, me saque cuales servicios corresponden al cliente digamos 1 o 2, como pueden ver en la tabla 2 el cliente puede tener diferentes combinaciones entre aduana No Autorización y Pedimento, y para hacerlo aun más complicado aun y cuando la aduana y el No de aturizacion pueden ser el mismo se puede tener solamente un rango de los números de pedimento.
Cada aduana tiene diferentes patentes o números de autorización, y así mismo cada patente tiene varios números de pedimento que en este año van del 9000000 al 9999999.
Gracias de antemano

1 Respuesta

Respuesta
1
Si pudieras eviarme la pegunta concreta que deseas responder te pudiera ayudar mucho más. Lo que a priori se me ocurre es que relaciones ls ds tablas con el idcliente y dentro de una lógica aparte extraigas todos los numeo de pedimento que entre en el ano.
Hola, ya había olvidado esta pregunta, si tal vez no logre explicarme del todo, pero ya logre salir del problema.
hize en C# un contructor de consultas, en el que primero obtengo el numero de registros de cada cliente de la tabla 2, y con un for y una bandera logro hacer una consulta como esta:
SELECT * FROM tabla1 WHERE (Aduana = tabla2.Aduana AND No_Autorizacion = tabla2.No_Autorizacion AND Pedimento BEWTEEN tabla2.R_Inferior AND tabla2.R_Superior) OR .....
La bandera sirve para que el "OR" se escriba solamente después de la primera condición, posteriormente añade otra condición dependiendo del numero de registros que tenga un cliente determinado en la tabla2.
Tal vez siga sin explicarme pero por si alguien se encuentra con una situaciond e estas tal vez si se identifique con el problema.
Saludos
No te preocupes, sobre tu query debes hacerlo un poco más focalizado, puedes quitarle el * y colocarle los campos que realmente utilizas, eso hará que el motor de BD realice la búsqueda más rápida y por consiguiente tu aplicación también.
Acuérdate de valorar la pregunta y

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas