Search Postgresql Archives

Re: Join query query

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thursday, February 14, 2013 4:31 AM Andrew Taylor wrote:
> Hi,

> I'd like to do something which I think should be quite easy - that is join
2 tables and create a new table.

> Table A postcode_input has columns which include postcode, eastings,
northings. there are 1,687,605 rows.
> Table B bng_lat_long has columns lat, lon, e, n. There are 1,687,605 rows.

> eastings = e and northings = n so there should be a 1 to 1 match. The
eastings northings pair should be unique in 
> aggregate.

I think mapping is m to n.

>So I tried doing this:

> SELECT A.postcode, A.eastings, A.northings, B.lat, B.lon INTO
postcode_lat_long
> FROM postcode_input AS A
> LEFT JOIN bng_lat_long AS B On A.eastings = B.e AND A.northings = B.n

> And ended up with a table 13,708,233 rows long with what looks like plenty
of duplicated rows. Some but not all are 
> duplicated. What can I do to sort this out? 

What is you exact expection of data in postcode_lat_long?

>From the above it seems you want distinct rows which match between
postcode_input and bng_lat_long, if there is no match then take the values
of postcode_input and NULL for bng_lat_long.

If I am right, then you can try with using DISTINCT operator:
http://www.postgresql.org/docs/9.2/static/sql-select.html#SQL-DISTINCT

With Regards,
Amit Kapila.



-- 
Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]
  Powered by Linux