>
> The condition
>
> and table.item = 'laptop' and table.item = 'Desktop'
>
> says: I want all rows where the column item has the value 'Laptop' and
> *at the same time* has the value 'Desktop'
> Which clearly cannot be the case (a column can only have a single value)
>
> So you need to join all "Laptop" rows to all "Desktop" rows to get
> what you want.
why not use OR ?
... AND (table.item = 'laptop' OR table.item='Desktop') ...