From: | marta vicente romero <mviceromgvsig(at)gmail(dot)com> |
---|---|
To: | POSTGRES <pgsql-es-ayuda(at)postgresql(dot)org> |
Subject: | RE:Consulta que no acabo de resolver |
Date: | 2009-02-14 11:37:33 |
Message-ID: | 3a7ce4e50902140337x1e788555r68f3332f219c604b@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
Voy a poner aqiu algunas de las pruebas que he hecho por si alguien ve algun
fallo claro y me puede guiar un poco
voy a quitar una tabla para que sea menos complicado:
si solo tenemos:
sustancia
gidsustancia | abreviatura | ...
detallea
giddetallea| gidsustancia | gidanalitica | resultado
detallecomentario (aqui ponemos directamente el comentario)
giddetallecom | gidsustancia |gidanalitica | comentario
yo he echo las siguientes preubas obteniendo los siguientes resultados:
te pongo un ejemplo
sustancia
gidsustancia | abreviatura | ...
<1,Temp>
detallea
giddetallea| gidsustancia | gidanalitica | resultado
<1500, 1, 29, 27>
detallecomentario (directamente pongo aqui el comentario)
giddetallecom | gidsustancia |gidanalitica | comentario
<5, 1, 29, No hay phmetro>
# select t1.abreviatura, t2.resultado, t3.comentario from (susta
ncia t1 inner join detalleanalitica t2 on t1.gidsustancia=
t2.gidsustancia)right
join detallecomentario t3 on t1.gidsustancia= t3.gidsustancia where
t2.gidana
litica= 29 and t3.gidanalitica=29;
abreviatura | resultado | comentario
-------------+-----------+---------------
pH | 7.17 | no hay phmetro
Temp | 27 | no hay phmetro
(2 rows)
(he hecho algunas pruebas mas.. si pongo los dos inner join com o left join
o los dos como right join sale exactamente el mismo resultado .. y no lo
entiendo..)
y en realidad yo quiero que salgan todos los resultados de la analitica no
solo los que tengan comentario:
es decri existen 3 casos:
que un par gidanalitica, gidsustancia se relacoinen por :
uncomentario
un resultado
o un comentario y un resulado
y yo quiero que me muestre todo...
# select t1.abreviatura, t2.resultado from (sustancia t1 inner join
detalleanalitica t2 on t1.gidsustancia= t2.gidsustancia) where
t2.gidanalitica=
29;
abreviatura | resultado
-------------+-----------
Colif_tot | 0
Dureza_tot | 690
NitritoNO2 | 0.02
Ca | 140
NitratNO3 | 100
NH4Amonio | 0.2
Conduct | 2030
pH | 7.17
Cloro_resl | 0.8
CloruroCl | 389.64
Mg | 550
Temp | 27
Estrept | 0
Alcalin | 358.68
ColifFeca | 0
(15 rows)
aqui faltarian los comnetarios de los que tienen resultado, y las sustancias
que no tienen resultado y si comentario pero no se como se puede añadir a
esto...
espero que me puedan ayudar...
muchas gracias
El 12 de febrero de 2009 19:48, marta vicente romero <
mviceromgvsig(at)gmail(dot)com> escribió:
> Hola
> Pido ayuda con una consulta, que no acabo de resolver:
>
> Tengo las tablas:
>
> sustancia
> gidsustancia | abreviatura | ...
>
> detallea
> giddetallea| gidsustancia | gidanalitica | resultado
>
> detallecomentario
> giddetallecom | gidsustancia |gidanalitica | gidcomentario
>
> comentario
> gidcomentario | comentario
>
> lo que quiero es obtener:
> abreviatura, resultado , comentario
>
> teniendo en cuenta que existen varias posibilidades:
> que el resultado tambien tenga comentario
> que la sustancia solo tenga resultado para esa analitica, por lo que el
> comentario es null
> o que la sustancia solo tenga comentario para esa analitica, por lo que el
> resultado es null
>
> la conulta quitando el comentario seria para a analitica 25 por ejemplo:
> Select abreviatura, resultado from sustancia, detallea where
> sustancia.gidsustancia = detallea.gidsustancia and gidanalitica= 25;
> o con un inner join...
>
>
> El problema es que no logro entender como construir la tabla con el
> comentario y las posibilidades que he explicado.. con inner join y outer
> join .. no se como construirlo para que sea correcto
> alguien me puede dar una idea...
>
> muchas gracias
>
From | Date | Subject | |
---|---|---|---|
Next Message | Mario Burdman | 2009-02-14 13:05:39 | Re: Consulta que no acabo de resolver |
Previous Message | Marcos Ortiz Valmaseda | 2009-02-14 04:43:35 | Re: Compilar o Instalar binarios,,,, |