Hi,
On 3/6/08 8:33 AM, "roger.maynard" <[EMAIL PROTECTED]> 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/[EMAIL PROTECTED]