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]

Reply via email to