dtgu21994537
2018-09-28 09:05 阅读 63
已采纳

MySQL使用PHP从2个具有相同ID的表中加入

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

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

2条回答 默认 最新

  • 已采纳
    doudong2149 doudong2149 2018-09-28 11:16

    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
    
    点赞 评论 复制链接分享
  • dongtu4559 dongtu4559 2018-09-28 09:08

    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
    
    点赞 评论 复制链接分享

相关推荐