Re: Group By? - Mailing list pgsql-general
From | Bob Pawley |
---|---|
Subject | Re: Group By? |
Date | |
Msg-id | 038001c5f475$4fc48f80$ac1d4318@OWNER Whole thread Raw |
In response to | Re: Group By? ("Guy Rouillier" <guyr@masergy.com>) |
Responses |
Re: Group By?
|
List | pgsql-general |
Yes I am trying to insert all valves into the same row as their associated mon. Bob ----- Original Message ----- From: "Jim C. Nasby" <jnasby@pervasive.com> To: "Bob Pawley" <rjpawley@shaw.ca> Cc: "Guy Rouillier" <guyr@masergy.com>; "PostgreSQL General" <pgsql-general@postgresql.org> Sent: Monday, November 28, 2005 2:18 PM Subject: Re: [GENERAL] Group By? > So are you trying to get a list of all 'mon's and 'valve's for each > given association? > > On Wed, Nov 23, 2005 at 04:31:04PM -0800, Bob Pawley wrote: >> Guy >> >> >> >> Sorry about the chart. It held together when I sent it to myself. >> >> >> >> I'll try to make it clear in the way you suggest, by a truncated example. >> >> >> >> Create table control (device_id serial, type varchar, association int4) >> >> Create table auto_control (loop_id serial, monitor int4, valve int4) >> >> >> >> Insert into control (type, association) Note - mon and valve are types of >> device that together make a loop. A loop can be from 1 to 7 devices.. >> >> Values ('mon', '1') - serial 1 >> >> Values ('valve', '2') - serial 2 >> >> Values ('mon', '2') - serial 3 >> >> Values ('valve', '1') - serial 4 >> >> Values ('valve', '2') - serial 5 >> >> >> >> I want to transfer the serial device_id number for mon '1' into the same >> row as valve '1' in the tables auto_control. Similarily >> >> >> >> Those two rows would look like this. >> >> Table (loop_id serial, monitor int4, valve int4) >> >> Row 1 ( 1, 1, 4, ) >> >> Row 2 (2, 2, 3, 5) >> >> >> >> Once this is done the devices will be organized into loops and each >> device >> in the loop will have a direct link to other parts of the database. >> >> >> >> I would like to know if this is possible with SQL, or would it be more >> suited to the host language? >> >> >> >> Would it be possible in SQL to have the information transferred into the >> auto_control table as the information is being entered or would the >> control >> table need to be fully completed? >> >> >> >> Hope this is finally clear. >> >> >> >> Thanks for you help. >> >> >> >> Bob >> >> ----- Original Message ----- >> From: "Guy Rouillier" <guyr@masergy.com> >> To: "PostgreSQL General" <pgsql-general@postgresql.org> >> Sent: Wednesday, November 23, 2005 2:17 PM >> Subject: Re: [GENERAL] Group By? >> >> >> Bob Pawley wrote: >> >Bruno >> > >> >The table I previously sent came through distorted and probabley >> >caused misunderstanding. >> > >> >The table control and auto_control are both permanent table. I want to >> >reshuffle how the information is associated from one table to another >> >with the link between table by way of the device_id. >> > >> >Following is the example which I stabilized and tested for e-mail. >> >> Sorry, Bob, I think the reason you haven't gotten a response is that the >> information you are trying to convey below is very unclear. Perhaps you >> can just provide a create table statement and a bunch of insert >> statements? Then summarize again what you are trying to accomplish. >> >> > >> >Bob >> > >> > Control >> > >> > >> > >> > >> > >> > >> > >> > >> > >> > device_id >> > type >> > association >> > >> > >> > serial >> > varchar >> > int4 >> > >> > >> > >> > >> > >> > >> > >> > 1 >> > mon >> > 1 >> > >> > >> > 2 >> > valve >> > 2 >> > >> > >> > 3 >> > valve >> > 1 >> > >> > >> > 4 >> > mon >> > 2 >> > >> > >> > 5 >> > valve >> > 1 >> > >> > >> > >> > >> > >> > >> > >> > >> > >> > >> > >> > >> > Auto_control >> > >> > >> > >> > >> > >> > >> > >> > >> > >> > loop_id >> > mon >> > valve_a >> > valve_b >> > >> > serial >> > int4 >> > int4 >> > int4 >> > >> > >> > >> > >> > >> > >> > 1 >> > 1 >> > 3 >> > 5 >> > >> > 2 >> > 2 >> > 4 >> > >> > >> > >> > >> > >> > >> > >> > >> >----- Original Message ----- >> >From: "Bruno Wolff III" <bruno@wolff.to> >> >To: "Bob Pawley" <rjpawley@shaw.ca> >> >Cc: "Guy Rouillier" <guyr@masergy.com>; "Postgre General" >> ><pgsql-general@postgresql.org> >> >Sent: Monday, November 21, 2005 10:07 PM >> >Subject: Re: Group By? >> > >> > >> >>On Mon, Nov 21, 2005 at 21:53:10 -0800, >> >> Bob Pawley <rjpawley@shaw.ca> wrote: >> >>>Here's what I want to do. >> >>> >> >>>Table control contains values (mon and valves) that are associated >> >>>by numbers inserted into the associated column. >> >>> >> >>>I want to transfer the serial _id number of the items associated by >> >>>the value '1' into the appropriate columns of the first row of the >> >>>table auto_control. All items associated with the value '2' into the >> >>>second row - etc. etc. >> >> >> >>You don't really want to do that. Tables have fixed numbers of >> >>columns and what you want to do doesn't result in a fixed number of >> >>columns. >> >> >> >>If you want to generate a report with that format, then I think there >> >>is a contrib module (crosstabs?) that will do this kind of thing. You >> >>could also have a report app do it for you. In the report app method, >> >>you would be best to return rows ordered by association and then >> >>device_ID and have the app check for when the association value >> >>changes. >> >> >> >>> >> >>>Is this best accomplished by a 'group by' command or subset??? >> >>> >> >>>Bob >> >>> Control >> >>> >> >>> device_ID type association >> >>> serial varchar int4 >> >>> >> >>> 1 mon 1 >> >>> 2 valve 2 >> >>> 3 valve 1 >> >>> 4 mon 2 >> >>> 5 valve 1 >> >>> >> >>> >> >>> Auto_control >> >>> >> >>> loop_id mon valve valve >> >>> serial int4 int4 int4 >> >>> 1 1 3 5 >> >>> 2 2 4 >> >>> >> >>> >> >>> >> >>>----- Original Message ----- >> >>>From: "Guy Rouillier" <guyr@masergy.com> >> >>>To: "Postgre General" <pgsql-general@postgresql.org> >> >>>Sent: Monday, November 21, 2005 4:25 PM >> >>>Subject: Re: [GENERAL] Group By? >> >>> >> >>> >> >>>Converted your message to plain text as preferred on most mailing >> >>>lists. >> >>> >> >>>Bob Pawley wrote: >> >>>>I want to take the serial ID of several values in different rows in >> >>>>one table and insert them into a single row of another table. >> >>>> >> >>>>Would the 'group by' command be the best way to do this? >> >>> >> >>>Could you provide an actual example? The wording of your question >> >>>is a little vague and an example might help solicit an answer to the >> >>>actual problem. For example, are these serial ID values all in a >> >>>the same column in the source table? Or is each one in a different >> >>>column? And what is the selection criteria that brings these >> >>>results together? >> >>> >> >>>-- >> >>>Guy Rouillier >> >>> >> >>>---------------------------(end of >> >>>broadcast)--------------------------- >> >>>TIP 3: Have you checked our extensive FAQ? >> >>> >> >>> http://www.postgresql.org/docs/faq >> >>> >> >>> >> >>>---------------------------(end of >> >>>broadcast)--------------------------- >> >>>TIP 4: Have you searched our list archives? >> >>> >> >>> http://archives.postgresql.org >> >> >> >> -- >> Guy Rouillier >> >> >> ---------------------------(end of broadcast)--------------------------- >> TIP 4: Have you searched our list archives? >> >> http://archives.postgresql.org >> >> >> ---------------------------(end of broadcast)--------------------------- >> TIP 5: don't forget to increase your free space map settings >> > > -- > Jim C. Nasby, Sr. Engineering Consultant jnasby@pervasive.com > Pervasive Software http://pervasive.com work: 512-231-6117 > vcard: http://jim.nasby.net/pervasive.vcf cell: 512-569-9461 > > ---------------------------(end of broadcast)--------------------------- > TIP 3: Have you checked our extensive FAQ? > > http://www.postgresql.org/docs/faq
pgsql-general by date: