Skip site navigation (1) Skip section navigation (2)

Consulta

From: Benjamin Roberto Alvarado Rivera <balvarado(at)linuxmail(dot)org>
To: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Consulta
Date: 2004-06-30 19:34:28
Message-ID: 1088624067.3571.38.camel@6-allhosts (view raw or flat)
Thread:
Lists: pgsql-es-ayuda
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


In response to

Responses

pgsql-es-ayuda by date

Next:From: Estéfano CastilloDate: 2004-06-30 20:19:03
Subject: Re: Consulta
Previous:From: tgutierrezDate: 2004-06-30 16:46:52
Subject: Re: direrencias entre postgresql-7.3.2-3 y

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group