I have a table, tblNoComp, that has two columns, both foreign keys pointing to tblPackage.ID. The purpose of tblNoComp is to store which packages are not compatible with each other, by simply storing the ID of those packages in two columns, OneID and TwoID.
May not be the best way of storing it, but since multiple packages aren’t compatible with others, it seemed to be the most logical.
Attempting to create a view that shows the tblPackage.Name for the two side by side – I have the following, but unsure how to get the TwoID Package Name..
SELECT tblNoComp.OneID, tblPackages.Package,tblNoComp.TwoID,tblPackages.Package
FROM tblNoComp, tblPackages
WHERE (tblNoComp.OneID = tblPackages.PID)
Currently the second tblPackages.Package is simply showing OneID name, not TwoID.. Not sure how to resolve?
Thank you!
–Apologies if a simple question, I’ve searched for an hour but haven’t quite been able to describe my problem correctly.
The code you have in your comment:
Is aliasing the columns instead of the tables. The idea behind the aliasing is to
JOINthe same table twice as two different tables, using two different aliases. You’re only joining it once and trying to use it twice.You probably intent something more like this:
(Note that I don’t have a MySQL syntax checker handy, so this may need to be tweaked in order to run properly.)
Note that the same table is joined twice on two different keys, and that each time it’s given a different alias so that it can be referenced within the
SELECTclause as two separate tables.