Re: Re: select to combine 2 tables - Mailing list pgsql-general

From Alex Pilosov
Subject Re: Re: select to combine 2 tables
Date
Msg-id Pine.BSO.4.10.10106221727300.9542-100000@spider.pilosoft.com
Whole thread Raw
In response to Re: select to combine 2 tables  ("Thomas T. Thai" <tom@minnesota.com>)
List pgsql-general
This IS a generic SQL query.

DBI is not generic, it is a perl interface to databases.

-alex

On Fri, 22 Jun 2001, Thomas T. Thai wrote:

> On Fri, 22 Jun 2001 wsheldah@lexmark.com wrote:
>
> >
> >
> > Use a union query:
> >
> > select rec_id, path, '' as link, name from cat_cat
> > UNION
> > select rec_id, path, link, name from cat_alias
>
> there is no way to do this in a generic DBI way? i need for this to work
> across diff kind of DBs.
>
> >
> > Notice that the two select statements need to have the same number of columns,
> > and the fields should be in the same order.  Field names don't have to match as
> > long as the datatypes are compatible.
> >
> >
> >
> >
> > "Thomas T. Thai" <tom%minnesota.com@interlock.lexmark.com> on 06/22/2001
> > 03:48:49 PM
> >
> > To:   PostgreSQL General <pgsql-general%postgresql.org@interlock.lexmark.com>
> > cc:    (bcc: Wesley Sheldahl/Lex/Lexmark)
> > Subject:  [GENERAL] select to combine 2 tables
> >
> >
> > i have two tables:
> >
> > select * from cat_cat;
> > +--------+------+--------------+
> > | rec_id | path | name         |
> > +--------+------+--------------+
> > |      1 | 0202 | water crafts |
> > |      2 | 02   | classifieds  |
> > |      3 | 0204 | real estate  |
> > |      4 | 0201 | auto         |
> > |      5 | 0203 | pets         |
> > +--------+------+--------------+
> >
> > select * from cat_alias;
> > +--------+------+------+--------+
> > | rec_id | path | link | name   |
> > +--------+------+------+--------+
> > |      1 | 02@@ | 0201 | cars   |
> > |      2 | 02@@ |      | myLink |
> > +--------+------+------+--------+
> >
> > i would like to have a query so that it combines two tables stacked on top
> > of each other instead of side by side:
> >
> > *** totally incorrect query***
> > SELECT * FROM cat_cat as cc, cat_alias as ca WHERE path like '02%';
> >
> > so that i'd get this:
> >
> > +--------+------+------+--------------+
> > | rec_id | path | link | name         |
> > +--------+------+------+--------------+
> > |      1 | 0202 |      | water crafts |
> > |      2 | 02   |      | classifieds  |
> > |      3 | 0204 |      | real estate  |
> > |      4 | 0201 |      | auto         |
> > |      5 | 0203 |      | pets         |
> > |      1 | 02@@ | 0201 | cars         |
> > |      2 | 02@@ |      | myLink       |
> > +--------+------+------+--------------+
> >
> > what's the correct query to accomplish that task?
> >
> > i could stuff everything in one table to begin with like so:
> >
> > CREATE TABLE cat_alias (
> >   rec_id   int(11)  NOT NULL PRIMARY KEY,
> >   path     char(256) NOT NULL,
> >   link     char(256) NOT NULL,
> >   name     char(64) NOT NULL
> > );
> >
> > but since the 'link' column is an alias (symbolic link) pointing to a real
> > path and is not used often, it would be waste of space.
> >
> >
> > ---------------------------(end of broadcast)---------------------------
> > TIP 2: you can get off all lists at once with the unregister command
> >     (send "unregister YourEmailAddressHere" to majordomo@postgresql.org)
> >
> >
> >
> >
> >
> > ---------------------------(end of broadcast)---------------------------
> > TIP 2: you can get off all lists at once with the unregister command
> >     (send "unregister YourEmailAddressHere" to majordomo@postgresql.org)
> >
>
>
> ---------------------------(end of broadcast)---------------------------
> TIP 3: if posting/reading through Usenet, please send an appropriate
> subscribe-nomail command to majordomo@postgresql.org so that your
> message can get through to the mailing list cleanly
>
>


pgsql-general by date:

Previous
From: "Thalis A. Kalfigopoulos"
Date:
Subject: Re: Newbie Inheritance Question
Next
From: "Svenne Krap"
Date:
Subject: Speed...