UPDATE and SELECT result difference
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
(1 row)
)
psql (PostgreSQL) 7.1.3
contains readline, history support
Portions Copyright (c) 1996-2001, PostgreSQL Global Development Group
Portions Copyright (c) 1996 Regents of the University of California
Read the file COPYRIGHT or use the command \copyright to see the
usage and distribution terms.
Thanks all.
Regards.
Enrico Mangano
Net Software
________
NETHOUSE S.R.L.
C.so Re Umberto I, 57 - 10128 Torino - Italy
Tel. +39-011-581.581 - Fax +39-011-581.591
http://www.nethouse.it <http://www.nethouse.it/> -
enrico.mangano@nethouse.it <mailto:enrico.mangano@nethouse.it>
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:
Show quoted text
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