Em 10 de janeiro de 2013 13:01, Eloi Ribeiro <[email protected]>escreveu:
> Ola a todos,
>
> Tenha duas tabelas com estações meteorológicas e quero saber quais são
> as estações que estão numa tabela (tmp_estaciones) mas não na outra
> (es_estaciones). Para tal executo a seguinte consulta:
>
> SELECT indicativo
> FROM sch_meteo.tmp_estaciones
> WHERE indicativo NOT IN (
> SELECT codigo
> FROM sch_meteo.es_estaciones);
> -- 0 rows retrieved.
>
> De antemão eu sei que há estações em 'tmp_estaciones' que não estão em
> 'es_estaciones'. Assim que o resultado não deveria ser zero linhas. As
> seguintes consultas comprovam isso mesmo:
>
> SELECT indicativo
> FROM sch_meteo.tmp_estaciones
> WHERE indicativo = 'C917E'; -- 1 row retrieved.
>
> SELECT codigo
> FROM sch_meteo.es_estaciones
> WHERE codigo = 'C917E'; -- 0 rows retrieved.
>
> O quê que estou a fazer mal?
>
> Obrigado. Cumprimentos,
>
> Eloi
>
Eloi,
Seria mais interessante você utilizar a combinação de consultas, no seu
caso eu usaria o EXCEPT [1], resumindo seria:
consulta1 EXCEPT [ALL] consulta2 (retorna todas as linhas presentes no
resultado da consulta1)
Ficando:
SELECT
indicativo
FROM
sch_meteo.tmp_estacione
EXCEPT
SELECT
codigo
FROM
sch_meteo.es_estaciones;
[1] http://www.postgresql.org/docs/current/static/sql-select.html
Att
--
*______________________________________
**Renan Catalani Fuentes de Campos*
*
E-mail: **[email protected]**
Skype:** renan_fuentes**
*
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral