none
Sql dificil de hacer o que no se me ocurre como... RRS feed

  • Pregunta

  • Buenas, tengo una consulta que hacer y la verdad, le doy vueltas pero no se me ocurre como....

    Yo tengo una tabla con códigos de entrada y otra tabla con de salida, la tabla de entradas es tal que asi :

    Código | Nº Total Elementos

    00125 |        4

    00211 |        7

    Esto se guarda así, pero realmente representaría, por ejemplo para el caso del código 00125 que yo tengo los siguientes elementos

    00125 |        1

    00125 |        2

    00125 |        3

    00125 |        4

    Y una tabla de salidas que es tal que asi :

    Código | Elemento / Usado

    00125 |        2

    00125 |        3

    ahora necesito obtener que elementos están en la tabla de salidas pero no en la de entradas, pero el problema lo tengo en que no se de que manera hacer el desglose de la tabla de entradas puesto que yo tengo : 00125 |        4 y no los valores individualmente.

    Muchas gracias!!

    viernes, 25 de abril de 2014 8:27

Respuestas

  • - Cual version de SQL Server usas?

    - Siempre la serie comenzaria en uno?

        1 - 4
        1 - 7

    - Cual es el resultado esperado de acuerdo al ejemplo que expones?

    La proxima vez preferible que postees la estructura de las tablas y data de ejemplo en forma de sentencias insert para nosotros poder simular tu ambiente solo copiando y pegando.

    > ahora necesito obtener que elementos están en la tabla de salidas pero no en la de entradas

    De acuerdo a tu ejemplo el resultado seria no fila alguna puesto que los elementos 2 y 3 estan en el rango 1-4.

    Si todos los rangos comienzan desde 1 entonces pudieras usar:

    SELECT
    	B.*
    FROM
    	@T1 AS A
    	RIGHT OUTER JOIN
    	@T2 AS B
    	ON B.cod = A.cod
    	AND B.elem BETWEEN 1 AND A.elem
    WHERE
    	A.cod IS NULL;
    GO


    AMB

    Some guidelines for posting questions...

    viernes, 25 de abril de 2014 17:50

Todas las respuestas

  • - Cual version de SQL Server usas?

    - Siempre la serie comenzaria en uno?

        1 - 4
        1 - 7

    - Cual es el resultado esperado de acuerdo al ejemplo que expones?

    La proxima vez preferible que postees la estructura de las tablas y data de ejemplo en forma de sentencias insert para nosotros poder simular tu ambiente solo copiando y pegando.

    > ahora necesito obtener que elementos están en la tabla de salidas pero no en la de entradas

    De acuerdo a tu ejemplo el resultado seria no fila alguna puesto que los elementos 2 y 3 estan en el rango 1-4.

    Si todos los rangos comienzan desde 1 entonces pudieras usar:

    SELECT
    	B.*
    FROM
    	@T1 AS A
    	RIGHT OUTER JOIN
    	@T2 AS B
    	ON B.cod = A.cod
    	AND B.elem BETWEEN 1 AND A.elem
    WHERE
    	A.cod IS NULL;
    GO


    AMB

    Some guidelines for posting questions...

    viernes, 25 de abril de 2014 17:50
  • Hola Mayoko,

    Gracias por consultar en el foro. Esperamos tus comentarios con respecto a la respuesta de HunchBack, hemos marcado su respuesta como posible respuesta a tu consulta. Si tienes algún inconveniente solo desmarca la respuesta y déjanoslo saber. Es para tener un mayor control del foro.

    Saludos,

    Miguel      

    MSDN/TechNet Soporte Comunidades

    Por favor, recuerde "Marcar como respuesta" las respuestas que hayan resuelto su problema.
    Es una forma común de reconocer a aquellos que han ayudado, y hace que sea más fácil para los otros visitantes encontrar la solución más tarde.

    Microsoft ofrece este servicio de forma gratuita, con la finalidad de ayudar a los usuarios y la ampliación de la base de datos de conocimientos relacionados con los productos y tecnologías de Microsoft. Este contenido es proporcionado "tal cual" y no implica ninguna responsabilidad de parte de Microsoft.

    martes, 29 de abril de 2014 19:11
    Moderador
  • Muchisimas gracias me sirvió de gran ayuda !!
    miércoles, 30 de abril de 2014 16:24