Hallo LinuxUser,
Gescheitert bin ich an der Anordnung der "AS"-s. Wenn ich diese an den Anfang der Abfrage setze, bspw. "SELECT users.username AS a, users.username AS b ...", dann erhalte ich zwar zweimal den Namen, jedoch zweimal den gleichen. Um nun die unterschiedlichen Namen zu erhaten, müssen a und b nun auch noch hinter die WHERE-Clausel. Dort standen sie jedoch bei mir nicht zur Verfügung und erzeugten eine MySQL-Fehlermeldung.
Aha, da haben wir den Fehler. Du musst das AS auf Tabellennamen anwenden. Hier mal ein Beispiel:
-------------------------- schnipp --------------------------------------
mysql> create table tmp1 (
-> id int not null primary key auto_increment,
-> name varchar(20)
-> );
Query OK, 0 rows affected (0.02 sec)
mysql> create table tmp2 (
-> id1 int not null,
-> id2 int not null,
-> data varchar(20)
-> );
Query OK, 0 rows affected (0.00 sec)
mysql> insert into tmp1 (name) values ('test1');
Query OK, 1 row affected (0.00 sec)
mysql> insert into tmp1 (name) values ('test2');
Query OK, 1 row affected (0.00 sec)
mysql> insert into tmp1 (name) values ('test3');
Query OK, 1 row affected (0.00 sec)
mysql> insert into tmp1 (name) values ('test4');
Query OK, 1 row affected (0.00 sec)
mysql> select * from tmp1 ;
+----+-------+
| id | name |
+----+-------+
| 1 | test1 |
| 2 | test2 |
| 3 | test3 |
| 4 | test4 |
+----+-------+
4 rows in set (0.00 sec)
mysql> insert into tmp2 (id1, id2, data) values (1, 2, 'test');
Query OK, 1 row affected (0.00 sec)
mysql> insert into tmp2 (id1, id2, data) values (3, 2, 'alpha');
Query OK, 1 row affected (0.00 sec)
mysql> insert into tmp2 (id1, id2, data) values (2, 4, 'beta');
Query OK, 1 row affected (0.00 sec)
mysql> select a.name as name1, b.name as name2, c.data as data from tmp1 as a, tmp1 as b, tmp2 as c where a.id = c.id1 and b.id = c.id2 ;
+-------+-------+-------+
| name1 | name2 | data |
+-------+-------+-------+
| test1 | test2 | test |
| test3 | test2 | alpha |
| test2 | test4 | beta |
+-------+-------+-------+
3 rows in set (0.00 sec)
-------------------------- schnapp --------------------------------------
Das hilft Dir hoffentlich weiter.
Viele Grüße,
Christian