RE: Im being dumb!
Thanks guys!! << gone to chase some of Dan's coffee >>
Brain gone.. and too many remnants of FoxPro SQL with "INNER JOINS"
Rog
-----Original Message-----
From: Dan Rogart [mailto:dan.rogart@xxxxxxxxxxxxxxxxxxxx]
Sent: 06 March 2008 13:53
To: Dan Rogart; roger.maynard; mysql list
Subject: Re: Im being dumb!
Ack, listen to Nanni not me. Join order doesn't matter, now that I
tested
some more :).
Off to drink more coffee,
Dan
On 3/6/08 8:45 AM, "Dan Rogart" <dan.rogart@xxxxxxxxxxxxxxxxxxxx> wrote:
> Hi,
>
>
> On 3/6/08 8:33 AM, "roger.maynard" <roger.maynard@xxxxxxxxxxxxxxx>
wrote:
>
>> I got 4 tables:
>>
>> Table A
>> | ID | Description1 |
>>
>> Table B
>> | ID | Description2 |
>>
>> Table C
>> | ID | Description3 |
>>
>> Table D
>> | ID | Description4 |
>>
>> ALL Ids ARE COMMON Values and NONE are MISSING
>>
>> How can I create
>> | ID | Description 1 | Description 2 | Description 3 | Description 4
|
>>
>>
>>
>> SELECT
a.ID,a.Description1,b.Description2,c.Description3,d.Description4
>> FROM TableA a
>> INNER JOIN TableB b ON a.id = b.id
>>
>> INNER JOIN TableC b ON a.id = c.id
>>
>> INNER JOIN TableD b ON a.id = d.id
>>
>> Doesn't give me the result
>>
>> What am I doing wrong?
>> Can I do this?
>>
>>
>>
>
> You have to do your joins in a chain: A joins to B, B joins to C, C
joins to
> D, and so on.
>
> Here's how I made it work in a simple example:
>
> mysql> create table a (id int, desc1 varchar(255));
> Query OK, 0 rows affected (0.13 sec)
>
> mysql> create table b (id int, desc2 varchar(255));
> Query OK, 0 rows affected (0.00 sec)
>
> mysql> create table c (id int, desc3 varchar(255));
> Query OK, 0 rows affected (0.07 sec)
>
> mysql> create table d (id int, desc4 varchar(255));
> Query OK, 0 rows affected (0.00 sec)
>
> mysql> insert into a values (1, 'foo');
> Query OK, 1 row affected (0.13 sec)
>
> mysql> insert into b values (1, 'bar');
> Query OK, 1 row affected (0.00 sec)
>
> mysql> insert into c values (1, 'fu');
> Query OK, 1 row affected (0.00 sec)
>
> mysql> insert into d values (1, 'br');
> Query OK, 1 row affected (0.00 sec)
>
> mysql> select a.id,a.desc1,b.desc2,c.desc3,d.desc4 from a
> -> join b on a.id = b.id
> -> join c on b.id = c.id
> -> join d on c.id = d.id;
> +------+-------+-------+-------+-------+
> | id | desc1 | desc2 | desc3 | desc4 |
> +------+-------+-------+-------+-------+
> | 1 | foo | bar | fu | br |
> +------+-------+-------+-------+-------+
>
> Hope that helps,
>
> Dan
>
--
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe: http://lists.mysql.com/mysql?unsub=royale@xxxxxxxxxx