Re: UPDATE and SELECT result difference - Mailing list pgsql-general

From Jean-Luc Lachance
Subject Re: UPDATE and SELECT result difference
Date
Msg-id 3C90F030.8AA01CF@nsd.ca
Whole thread Raw
In response to UPDATE and SELECT result difference  ("Enrico Mangano" <enrico.mangano@nethouse.it>)
List pgsql-general
Hello Enrico,

It simply means that there are 202 duplicate rows in acxx_aziende_istat
where acxx_aziende_istat.cda_azienda = temp_principale.cda_azienda.

try :

SELECT cda_azienda, COUNT(*)
FROM acxx_aziende_istat
WHERE EXISTS (
  SELECT * FROM temp_principale
  WHERE acxx_aziende_istat.cda_azienda = temp_principale.cda_azienda)
GROUP BY cda_azienda
HAVING COUNT(*) > 1;

jll


Enrico Mangano wrote:
>
> Hi all,
>
> of course I'm too drunk, or simply I'm missing something, but
> I can't understand the difference beetwen the results of these
> 2 queries:
>
> targhettariodb=# UPDATE temp_principale
> targhettariodb-# SET cda_istat = acxx_aziende_istat.cda_istat ,
> targhettariodb-#        prg_istat = acxx_aziende_istat.prg_istat
> targhettariodb-# WHERE acxx_aziende_istat.cda_azienda =
> temp_principale.cda_azienda;
> UPDATE 1727
> targhettariodb=# SELECT count(*)
> targhettariodb-# FROM acxx_aziende_istat,temp_principale
> targhettariodb-# WHERE acxx_aziende_istat.cda_azienda =
> temp_principale.cda_azienda;
> count
> -------
>  1929
> (1 row)
>
> why this difference in the number of rows?
>
> (
>  targhettariodb=# SELECT count(*)
>  targhettariodb-# FROM acxx_aziende_istat, temp_principale
>  targhettariodb-# WHERE
>  targhettariodb-# acxx_aziende_istat.cda_azienda is null OR
>  targhettariodb-# temp_principale.cda_azienda is null OR
>  targhettariodb-# acxx_aziende_istat.cda_istat IS NULL OR
>  targhettariodb-# acxx_aziende_istat.prg_istat IS NULL ;
>   count
>  -------
>       0

pgsql-general by date:

Previous
From: Jeff Fitzmyers
Date:
Subject: Re: Random Numbers/Letters
Next
From: Vincent Stoessel
Date:
Subject: temporary file location?