SELECT ports.name, devices.name as dname, destdevices.name as destname
FROM ports, devices, devices AS destdevices
INNER JOIN devices ON devices.did = ports.did
LEFT JOIN destdevices ON destdevices.did = ports.destid;
Wahow, mysql has every right to complain here. If you run that query, mysql will tell you that you have a 'non unique table alias devices', which is correct because you're doinf a join between ports, devices, devices AS destdevices, then you INNER JOIN the destdivices with devices again, and LEFT JOIN all that with destdevices (again)
I guess what you really mean is:
SELECT ports.name, devices.name as dname, destdevices.name as destname
FROM ports
INNER JOIN devices ON devices.did = ports.did
LEFT JOIN devices AS destdevices ON destdevices.did = ports.destid;
A forum, a FAQ, email notification, what else do you need?