QUE HAGO MAL?

Fandelkaox
10 de Mayo del 2004
Voy a intentar explicar mi problema

El caso es que tengo un tabla con varios campo uno de ellos se llama POSICION. Y otro SECCION.
POR EJEMPLO TENGO ESTOS REGISTROS

SECCION | POSICION
1 | 5
1 | 7
1 | 9
1 | 11
1 | 13

Mi intención es cambiar el orden de la posición.
El calculo que ahora propongo solo funciona cuando el incremento de la secuencia de orden es igual, en este caso es 2.

El valor mínimo de POSICION es 5 y el máximo es 12.

La formula para invertir seria.
Nueva posición = Min + (max – actual_posición)
Esto es:
2 + (12 - 5) = 13
2 + (12 - 7) = 11
2 + (12 - 9) = 9
2 + (12 - 11) = 7
2 + (12 – 13) = 5
Por lo tanto la consulta seria:
Update tabla
Set posición = (select min(posición where seccion = 1)) + ((select min(posición where seccion = 1)- posicion)
where seccion = 1
El problema es que no me funciona.
Alguien sabría decirme porque.
Y si alguien supiera la forma para hacerlo en secuencias donde el incremento de la posición no es igual todo el rato también lo agradecería.
Muchas gracias de antemano.

fandelkaox
10 de Mayo del 2004
Voy a intentar explicar mi problema

El caso es que tengo un tabla con varios campo uno de ellos se llama POSICION. Y otro SECCION.
POR EJEMPLO TENGO ESTOS REGISTROS

SECCION | POSICION
1 | 5
1 | 7
1 | 9
1 | 11
1 | 13

Mi intención es cambiar el orden de la posición.
El calculo que ahora propongo solo funciona cuando el incremento de la secuencia de posición es igual, en este caso es 2.

El valor mínimo de POSICION es 5 y el máximo es 13.

La formula para invertir seria.
Nueva posición = Min + (max – actual_posición)
Esto es:
5 + (13 - 5) = 13
5 + (13 - 7) = 11
5 + (13 - 9) = 9
5 + (13 - 11) = 7
5 + (13 – 13) = 5
Por lo tanto la consulta seria:
Update tabla
Set posición = (select min(posición where seccion = 1)) + ((select min(posición where seccion = 1)- posicion)
where seccion = 1
El problema es que no me funciona.
Alguien sabría decirme porque.
Y si alguien supiera la forma para hacerlo en secuencias donde el incremento de la posición no es igual todo el rato también lo agradecería.
Muchas gracias de antemano.