Reputation: 49
I got a table like:
product
id | product_id
1 55
2 56
3 57
product_options
id | product_id | options_value
1 55 88
2 55 87
3 55 89
... ...
I want to select all option_values
from product_options where product_id
from product is same with product_id
from product_options.
After I select all fields from product I use this:
$sql .= " LEFT JOIN " . DB_PREFIX . "product_option_value ovi ON (ovi.product_id=p.product_id)";
if(...){
$sql .= " AND ovi.option_value_id='$value'";
}
The problem is: If I only got one options_value
, it's fine.
but when I have 2 or more options_values
the result is 0.
i want to select all options_value
from product_options for all product_id
from product_options
PS. Sorry for my english and explication
Upvotes: 0
Views: 1252
Reputation: 415
Use right join with product_id
select p.id, p.product_id, po.options_value from products p right join product_options po on p.product_id=po.product_id
Upvotes: 2
Reputation: 37473
Use inner join between two table using product_id as join key
select p.id, p.product_id, po.optional_value
from products p inner join product_options po on p.product_id=po.product_id
Upvotes: 1