Problema con consulta

09/02/2005 - 17:25 por Alexandre | Informe spam
Habeis si me podeis echar una mano con esta consulta.
De esta tabla:


8643107 11.00 26.95 -11.00 -26.95 8643106


8782215 11.00 26.95 -11.00 -26.95 8643106

8782220 5.00 15.00 -5.00 -15.00 8782222


8782220 5.00 15.00 -5.00 -15.00 8782223
8782221 5.00 15.00 -5.00 -15.00 8782222

8782221 5.00 15.00 -5.00 -15.00 8782223
8782224 .25 4.75 -.25 -4.75 8643103
8782225 89.00 666.00 -89.00 -666.00 8782227


8782225 89.00 666.00 -89.00 -666.00 8782228
8782225 89.00 666.00 -89.00 -666.00 8782229
8782226 89.00 666.00 -89.00 -666.00 8782227

8782226 89.00 666.00 -89.00 -666.00 8782228


8782226 89.00 666.00 -89.00 -666.00 8782229

necesito sacar las filas que vienen marcadas con el simbolo ">". La consulta
no solo debe valer para este caso especifico sino para cualquiera o sea que
las filas no siempre tienen esos valores.El caso es seleccionar los
distintos id's positivos (primera columna por la izquierda) que tengan
asociado un id negativo distinto (ultima columna) que no posea ya otro
positivo con los mismo valores. Los id's positivos y negativos se relacionan
con los valores numericos de las columnas intermedias.

Espero que podais ayudarme, muchas gracias

Preguntas similare

Leer las respuestas

#6 Alejandro Mesa
09/02/2005 - 19:01 | Informe spam
Creo que no me exprese correctamente. Lo que trato de preguntar es que cual
es la logica detras de esta seleccion?. Pudieras explicar un par de los casos
que marcastes?


AMB


"Alexandre" wrote:

cuando hablo de id's negativos no quiero decir que estos lo sean sino que
son los id de filas negativas.

Las que marco con ">" (los marco yo en este mensaje no viene dentro del
campo) son un ejemplo de los registros que me tendrian que venir como
resultado de la consulta que intento hacer.

"Alejandro Mesa" escribió en el
mensaje news:
>> asociado un id negativo distinto (ultima columna) que no posea
>
> Yo no veo numgun id negativo en la ultima columna
>
> Pudieras explicar un par de casos, de los que marcastes con ">"?
>
>
> AMB
>
> "Alexandre" wrote:
>
>> Habeis si me podeis echar una mano con esta consulta.
>> De esta tabla:
>>
>> > 8643107 11.00 26.95 -11.00 -26.95 8643106
>> 8782215 11.00 26.95 -11.00 -26.95 8643106
>> > 8782220 5.00 15.00 -5.00 -15.00 8782222
>> 8782220 5.00 15.00 -5.00 -15.00 8782223
>> 8782221 5.00 15.00 -5.00 -15.00 8782222
>> > 8782221 5.00 15.00 -5.00 -15.00 8782223
>> > 8782224 .25 4.75 -.25 -4.75 8643103
>> > 8782225 89.00 666.00 -89.00 -666.00 8782227
>> 8782225 89.00 666.00 -89.00 -666.00 8782228
>> 8782225 89.00 666.00 -89.00 -666.00 8782229
>> 8782226 89.00 666.00 -89.00 -666.00 8782227
>> > 8782226 89.00 666.00 -89.00 -666.00 8782228
>> 8782226 89.00 666.00 -89.00 -666.00 8782229
>>
>> necesito sacar las filas que vienen marcadas con el simbolo ">". La
>> consulta
>> no solo debe valer para este caso especifico sino para cualquiera o sea
>> que
>> las filas no siempre tienen esos valores.El caso es seleccionar los
>> distintos id's positivos (primera columna por la izquierda) que tengan
>> asociado un id negativo distinto (ultima columna) que no posea ya otro
>> positivo con los mismo valores. Los id's positivos y negativos se
>> relacionan
>> con los valores numericos de las columnas intermedias.
>>
>> Espero que podais ayudarme, muchas gracias
>>
>>
>>



Respuesta Responder a este mensaje
#7 Alexandre
10/02/2005 - 13:12 | Informe spam
La estructura de la tabla es la siguiente:

idpos| cantidadpos| importepos|cantidadnega| importenega| idnega1
-|||-|-|-|
8643107 11.00 26.95 -11.00 -26.95 8643106
8782215 11.00 26.95 -11.00 -26.95 8643106
8782220 5.00 15.00 -5.00 -15.00 8782222
8782220 5.00 15.00 -5.00 -15.00 8782223
8782221 5.00 15.00 -5.00 -15.00 8782222
8782221 5.00 15.00 -5.00 -15.00 8782223
8782224 .25 4.75 -.25 -4.75 8643103
8782225 89.00 666.00 -89.00 -666.00 8782227
8782225 89.00 666.00 -89.00 -666.00 8782228
8782225 89.00 666.00 -89.00 -666.00 8782229
8782226 89.00 666.00 -89.00 -666.00 8782227
8782226 89.00 666.00 -89.00 -666.00 8782228
8782226 89.00 666.00 -89.00 -666.00 8782229

si nos fijamos en el ejemplo que puse los idpos con valor 8782220 y 8782221
tienen como cantidades e importes 5 y 15 con lo que les correponderian uno
de los siguientes id's negativos 8782222 ó 8782223 que son los que tienen
como cantidad e importe -5 y -15. Pues bien necesito emparejarlos sin que se
repitan. Estos serian posibles resultados:
-8782220 con 8782222 y 8782221 con 8782223

8782220 5.00 15.00 -5.00 -15.00 8782222
8782221 5.00 15.00 -5.00 -15.00 8782223

-8782220 con 8782223 y 8782221 con 8782222

8782220 5.00 15.00 -5.00 -15.00 8782223
8782221 5.00 15.00 -5.00 -15.00 8782222

Seria como un inner join que solamente cruzase con un posible resultado y no
con todos.

Tambien hay que tener en cuenta que puede haber lineas con cantidades e
importes positivos que superen en numero a su correspondientes lineas
negativas o viceversa. En el ejemplo tambien se da este caso con las
siguientes lineas:

8643107 11.00 26.95 -11.00 -26.95 8643106
8782215 11.00 26.95 -11.00 -26.95 8643106

Como vemos 8643107 y 8782215 solamente tienen un unico negativo para
repartirse el 8643106. En casos como estos se eligiria uno de los dos
positivos cualquiera para emparejarlo.

Tambien hay un caso donde hay mas negativos que positivos:

8782225 89.00 666.00 -89.00 -666.00 8782228
8782225 89.00 666.00 -89.00 -666.00 8782229
8782225 89.00 666.00 -89.00 -666.00 8782230
8782226 89.00 666.00 -89.00 -666.00 8782227
8782226 89.00 666.00 -89.00 -666.00 8782228
8782226 89.00 666.00 -89.00 -666.00 8782229
8782226 89.00 666.00 -89.00 -666.00 8782230

8782225 y 8782226 tienen para ellos 4 posibles lineas negativas las marcadas
con los id's 8782227,8782228,8782229 y 8782230.Este caso se emparejarian
ambos positivos con 2 negativos cualquiera.

El resultado final debe ser algo como esto:

8643107 11.00 26.95 -11.00 -26.95 8643106
8782220 5.00 15.00 -5.00 -15.00 8782222
8782221 5.00 15.00 -5.00 -15.00 8782223
8782224 .25 4.75 -.25 -4.75 8643103
8782225 89.00 666.00 -89.00 -666.00 8782227
8782226 89.00 666.00 -89.00 -666.00 8782228

donde a cada linea positiva se le hace corresponder una posible negativa.

Espero haberme expresado bien esta vez. Gracias a todos por vuestra
atencion!!.
"Alexandre" escribió en el mensaje
news:
Habeis si me podeis echar una mano con esta consulta.
De esta tabla:

8643107 11.00 26.95 -11.00 -26.95 8643106


8782215 11.00 26.95 -11.00 -26.95 8643106
8782220 5.00 15.00 -5.00 -15.00 8782222


8782220 5.00 15.00 -5.00 -15.00 8782223
8782221 5.00 15.00 -5.00 -15.00 8782222
8782221 5.00 15.00 -5.00 -15.00 8782223
8782224 .25 4.75 -.25 -4.75 8643103
8782225 89.00 666.00 -89.00 -666.00 8782227


8782225 89.00 666.00 -89.00 -666.00 8782228
8782225 89.00 666.00 -89.00 -666.00 8782229
8782226 89.00 666.00 -89.00 -666.00 8782227
8782226 89.00 666.00 -89.00 -666.00 8782228


8782226 89.00 666.00 -89.00 -666.00 8782229

necesito sacar las filas que vienen marcadas con el simbolo ">". La
consulta no solo debe valer para este caso especifico sino para cualquiera
o sea que las filas no siempre tienen esos valores.El caso es seleccionar
los distintos id's positivos (primera columna por la izquierda) que tengan
asociado un id negativo distinto (ultima columna) que no posea ya otro
positivo con los mismo valores. Los id's positivos y negativos se
relacionan con los valores numericos de las columnas intermedias.

Espero que podais ayudarme, muchas gracias

email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida