From: | Guillermo Schulman <gschulman_ml(at)yahoo(dot)com(dot)ar> |
---|---|
To: | pgsql-es-ayuda(at)postgresql(dot)org |
Subject: | Re: Consulta |
Date: | 2004-06-30 21:26:08 |
Message-ID: | 20040630212608.5404.qmail@web21408.mail.yahoo.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
(este mail no es un reply directo del mail que
responde porque estoy teniendo algunos problemas con
mi cliente de mail)
Si no entiendo mal, la idea es encontrar aquellos
registros consecutivos que no tengan el mismo
locationsource.
Supongo que este query te solucionaría el problema:
select t2.* from tbllines t1, tbllines t2 where
t1.recnum=t2.recnum+1 and t1.locationsource <>
t2.locationsource
UNION
select t2.* from tbllines t1, tbllines t2 where
t1.recnum+1=t2.recnum and t1.locationsource <>
t2.locationsource;
La segunda parte podés solucionarla usando el mismo
concepto.
Si necesitas ayuda avisame.
Benjamin Roberto Alvarado Rivera wrote:
Buenas tardes,
Tengo una duda, pero es un off-topic, aun que se trata
de una consulta.
en fin, lo siento.
Tengo unas tablas como estas
tabla de nodos
tblnodos (recnum numeric, NodeId numeric, ... )
tabla de lineas
tbllines ( recnum numeric, upNodeID numeric,
downNodeID, ... ,
LocationSource numeric, ... )
donde:
upNodeID y downNodeID de tbllines, que forman los
nodos de una tubería
de drenaje, estarían relacionados con nodeID de
tblnodos.
LocationSource es el numero de plano y
recnum es un numero auto-incrementado por una
secuencia, generado en
cada ingreso del registro.
Es posible por medio de SQL hacer una consulta a la
tabla tbllines, que
tendría datos como estos:
recnum up down locationsource
1 1 2 1000
2 2 3 1000
. . . .
. . . .
. . . .
50 38 40 1000
51 40 41 2000
52 42 43 2000
. . . .
. . . .
. . . .
79 124 125 2000
80 125 126 5500
. . . .
. . . .
. . . .
110 267 268 5500
111 269 270 6700
. . . .
. . . .
. . . .
y ordenarlos por recnum y obtener solo las tuplas
donde hay cambios de
locationsource, es decir que de la tabla anterior solo
me de
recnum up down locationsource
50 38 40 1000
51 40 41 2000
79 124 125 2000
80 125 126 5500
110 267 268 5500
111 269 270 6700
que son las tuplas donde hubo cambio de
locationsource.
y otra duda, que se basa en el mismo problema, seria
solo seleccionar
aquellas tuplas que tiene cambios de locationsource y
el nodo
downNodeId es igual a UpNodeID de la siguiente tupla.
con lo que solo
tendria como resultado
recnum up down locationsource
50 38 40 1000
51 40 41 2000
79 124 125 2000
80 125 126 5500
las ultimas dos tuplas,con recnum 110 y 111, no las
seleccionaría por
que no tiene nodeID en común.
Es posible hacer esto por medio de SQL, por que lo
estoy haciendo por
medio de programación, recorriendo el resultado de una
consulta y donde
encuentre las diferencias y usa esos datos
Pero, no se si es posible? hacer directamente esto,
desde SQL, que me
facilitaría mas algunas cosas.
Muchas gracias por su tensión.
Benjamin Alvarado
---------------------------(end of
broadcast)---------------------------
TIP 1: para suscribirte y desuscribirte, escribe a
majordomo(at)postgresql(dot)org
------------
Internet gratis ¡y que funciona!
Tres nuevas ciudades con números locales:
Escobar, Zárate y Campana
Yahoo! Conexión
http://ar.online.yahoo.com
¿Qué esperas para navegar bien y a bajo costo?
From | Date | Subject | |
---|---|---|---|
Next Message | Edwin Quijada | 2004-06-30 22:13:05 | Re: Select con horas |
Previous Message | Benjamin Roberto Alvarado Rivera | 2004-06-30 20:58:12 | Re: Consulta |