Hi, I would rather put the attributes.attribute='pcname' in the join clause It should look something like this
SELECT inventory.invid,inventory.model,attributes.value as pcname FROM inventory LEFT JOIN attributes ON (inventory.invid=attributes.invid and attributes.attribute='pcname' ); HTH -- Dobromir Velev [EMAIL PROTECTED] http://www.websitepulse.com/ On Friday 02 September 2005 14:37, Klemens Ullmann wrote: > hello! > > I've got two tables for an IT hardware inventory: > > ### table inventory: > invid model > ------------------- > 1001 HP Notebook // no attributes > 1002 Dell Desktop // only one attribut 'pc-name' > 1003 Acer Laptop // attributes 'pc-name' & 'harddisk' > 1004 Apple iBook // only one attribut 'harddisk' > > ### table attributes: > id invid attribute value > ----------------------------- > 501 1002 pcname atpc01 > 502 1003 pcname atpc02 > 503 1003 harddisk 20GB > 504 1004 harddisk 40GB > > what I want is a list of all computers (without exeptions) in the > following form: > invid - modell - pcname > > my best guess zu date of a possible query is: > SELECT inventory.invid,inventory.model,attributes.value as pcname > FROM inventory > LEFT JOIN attributes ON (inventory.invid=attributes.invid) > WHERE attributes.attribute='pcname' or attributes.attribute is NULL; > > ### result: > invid model pcname > --------------------------- > 1001 HP Notebook NULL > 1002 Dell Desktop atpc01 > 1003 Acer Laptop atpc02 > > > now my problem are the missing computers which have an attribute, but > not a 'pc-name'-attribute. > (in the example above the missing iBook) > > thank you for suggestions how to solve the problem! > > have a nice day, > > klemens ullmann / vienna -- MySQL General Mailing List For list archives: http://lists.mysql.com/mysql To unsubscribe: http://lists.mysql.com/[EMAIL PROTECTED]