Maria Popovici
Maria Popovici

Reputation: 49

MySQL JOIN from 2 tables with same ID using PHP

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

Answers (2)

Roshni hegde
Roshni hegde

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

Fahmi
Fahmi

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

Related Questions