pg.ddx.io  pgsql-sql@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: Adam Witney <awitney@sghms.ac.uk>
To: pgsql-sql <pgsql-sql@postgresql.org>
Subject: query or design question
Date: Mon, 20 Oct 2003 11:58:00 +0100
Message-ID: <BBB97E48.26975%awitney@sghms.ac.uk> (raw)

Hi,

I have a table like so

CREATE TABLE imagene (
id             int
bioassay_id    int
gene_id        text
s_row          int
s_column       int
s_meta_row     int
s_meta_column  int
sig_median     numeric
bkg_median     numeric
);

Rows are unique on (bioassay_id, gene_id, s_row, s_column, s_meta_row,
s_meta_column)

They are grouped like this (note, the counts will not always be the same)

cabbage=# select bioassay_id, count(*) from imagene group by bioassay_id;
 bioassay_id | count
-------------+-------
         106 | 10944
         107 | 10944


And I need to generate an output like this......

             bioassay_id=106        bioassay_id=107
         ----------------------  ----------------------
gene_id, sig_median, bkg_median, sig_median, bkg_median



I can do something like this

SELECT a.gene_id,
         a.sig_median, a.bkg_median,
         b.sig_median, b.bkg_median
   FROM 
       imagene a,
       imagene b
   WHERE 
       a.s_meta_row = b.s_meta_row AND
       a.s_meta_col = b.s_meta_col AND
       a.s_row = b.s_row AND
       a.s_column = b.s_column AND
       a.bioassay_id = 106 AND
       b.bioassay_id = 107;


But this is quite slow... And not generic as I may need to generate the
output for more than two bioassay_ids. Also I may need to do an outer join
to make sure I get all rows from both data sets?

I am not sure if a crosstab function will do this?

Any ideas of pointers would be greatly appreciated

Thanks

Adam


-- 
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.




view thread (2+ messages)  latest in thread

Message-ID: <BBB97E48.26975%awitney@sghms.ac.uk>
Permalink:  ../BBB97E48.26975%25awitney@sghms.ac.uk/
Also on:    postgresql.org/message-id/BBB97E48.26975%awitney@sghms.ac.uk

 · 

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pgsql-sql@postgresql.org
  Cc: awitney@sghms.ac.uk
  Subject: Re: query or design question
  In-Reply-To: <BBB97E48.26975%awitney@sghms.ac.uk>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox