-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1
Andreas Haumer wrote:
| test=# select * from t1 right outer join t2 on (t1.ctid=t2.ctid);
"full outer join" is better in this case.
Regards
Gaetano Mendola
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.2.4 (MingW32)
Comment: Using GnuPG with Thunder
Andreas Haumer wrote:
You could try to use PosgreSQL's ctid system column to join on like this:
test=# select *,ctid from t1;
a | b | ctid
- ---+---+---
2 | 2 | (0,1)
3 | 5 | (0,2)
4 | 7 | (0,3)
9 | 0 | (0,4)
test=# select *,ctid from t2;
c | d | ctid
- ---+---+---
4 | 5 | (0,1)
7 |
Depending on the size of your structures, something like the below may
be significantly faster than the subselect alternative, and more
reliable than the ctid alternative.
CREATE TYPE result_info AS (a integer, b integer, c integer, d integer);
CREATE OR REPLACE FUNCTION parallelselect() RETURNS
select
( select a from t1 where CAST(t1.oid AS int) - CAST( (select min(oid) from t1) AS
int ) = t_all.rownum ) AS a
, ( select b from t1 where CAST(t1.oid AS int) - CAST( (select min(oid) from t1) AS
int ) = t_all.rownum ) AS a
, ( select c from t2 where CAST(t2.oid AS int) - CAST( (select min
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1
Hi!
David Garamond wrote:
> How can you display two tables side by side? Example:
>
>> select * from t1;
> a | b
> ---+---
> 2 | 2
> 3 | 5
> 4 | 7
> 9 | 0
>
>> select * from t2;
> c | d
> ---+---
> 4 | 5
> 7 | 3
> 3 | 2
> 1 | 1
> 2 | 0
>
>
How can you display two tables side by side? Example:
> select * from t1;
a | b
---+---
2 | 2
3 | 5
4 | 7
9 | 0
> select * from t2;
c | d
---+---
4 | 5
7 | 3
3 | 2
1 | 1
2 | 0
Intended output:
a | b | c | d
---+---+---+---
2 | 2 | 4 | 5
3 | 5 | 7 | 3
4 | 7 | 3 | 2
9 | 0 | 1 | 1
|