+ -
当前位置:首页 → 问答吧 → mysql 联查问题 ?

mysql 联查问题 ?

时间:2011-11-25

来源:互联网

属性表:
  
attr_id(自增) attr_name attr_cate_id

  1 型号 4
  2 重量 4
  3 时速 4

商品表:
 goods_id goods_cate_id

  1 4

商品属性值对应表
  goods_attr_id (自增) goods_id attr_value attr_id
  1 1 (型号)M9 1
  2 1 (重量)1.5kg 2

现在要的结果是:
  goods_id attr_name attr_value attr_id
  1 型号 M9 1
  1 重量 1.5kg 2
  1 时速 null 3

我联查始终只有前面有attr_value的最后个时速没得....???

查询结果:

  属性全有,属性值没有就为null?

  说得我都不晓得啥意思了....
  看看吧...

作者: a710123a   发布时间: 2011-11-25

你的语句是否是这样的?
SQL code
select goods_id attr_name attr_value attr_id
from 
 商品表 as t1 
 left join 属性表 as t2 on t1.goods_cate_id = t2.attr_cate_id
 left join 属性表值对应表 as t3 on t2.attr_id = t3.goods_attr_id



结果不应该没有时速吧,可能你把 属性表值对应表 放在 属性表 前面做连接了?

作者: nicenight   发布时间: 2011-11-25

select c.goods_id,a.attr_name,c.attr_value,a1.attr_id from 属性表 a1 left join
(select a.*,b.goods_id,b.goods_cate_id from 商品属性值对应表 a inner join 商品表 b on a.goods_id=b.goods_id) c
on a1.attr_cate_id=c.goods_cate_id

作者: WWWWA   发布时间: 2011-11-25