On Tue, 6 Jul 2004, David Newall wrote: > PostgreSQL version: 7.4.3 (RPMs from ftp.au.postgresql.org) > > Operating Sysem: Fedora Core 1 > > CREATE TABLE t1 (i INTEGER, j INTEGER); > INSERT INTO t1 VALUES (1, NULL); > CREATE TABLE t2 AS SELECT * FROM t1; > SELECT * FROM t1 JOIN t2 USING (i, j); > i | j > ---+--- > (0 rows) > > I believe the one row, which is identically present in both table, > should be selected. The problem occurs because of the NULL value.
NULL is not equal to NULL so I don't think the values for j meet the join condition "for which the corresponding join columns have equal values." ---------------------------(end of broadcast)--------------------------- TIP 5: Have you checked our extensive FAQ? http://www.postgresql.org/docs/faqs/FAQ.html