Skip site navigation (1) Skip section navigation (2)

Re: need help with import

From: "David Johnston" <polobo(at)yahoo(dot)com>
To: "'Andreas'" <maps(dot)on(at)gmx(dot)net>, <pgsql-sql(at)postgresql(dot)org>
Subject: Re: need help with import
Date: 2012-02-16 01:13:49
Message-ID: 013001ccec48$3db033e0$b9109ba0$ (view raw, whole thread or download thread mbox)
Lists: pgsql-sql
-----Original Message-----
From: pgsql-sql-owner(at)postgresql(dot)org [mailto:pgsql-sql-owner(at)postgresql(dot)org] On Behalf Of Andreas
Sent: Wednesday, February 15, 2012 8:03 PM
To: pgsql-sql(at)postgresql(dot)org
Subject: [SQL] need help with import

I get CSV files to import.
Th structure is like this.
main part, sub part
Could be like this

A, a1
A, a2
A, a3
B, b1
B, b2

The database has a table for main_part and one for sub_part.
The relation needs to be n:m so there is a relation table that holds ( main_id, sub_id ).
The 2 primary keys and are both serials.

Is there a way to do an import with SQL?

I can read the CSV into a temporary table and I can do a INSERT INTO main_part ( ... ) SELECT DISTINCT main columns FROM import; as well as a INSERT INTO sub_part ( ... ) SELECT sub columns FROM import;

But how would I know what main_id and sub_id to insert into the n:m relation?

At first when I do the import the relation is actually 1:n.


You will need to use the temporary table and perform multiple insert+select.

I do not understand where you are confused.  It would help to provide more meaningful sample data and/or the final result you are trying to achieve.  Keep in mind any n:m setup requires three tables with the joining table usually having some descriptive meaning.  Is time one of your components that you are not  showing us?


Sent via pgsql-sql mailing list (pgsql-sql(at)postgresql(dot)org) To make changes to your subscription:

In response to


pgsql-sql by date

Next:From: AndreasDate: 2012-02-16 02:05:52
Subject: Re: need help with import
Previous:From: AndreasDate: 2012-02-16 01:02:58
Subject: need help with import

Privacy Policy | About PostgreSQL
Copyright © 1996-2017 The PostgreSQL Global Development Group