第一:select s.type_id,s.type_name,p.type_name from tdb_goods_types as s left join tdb_goods_types as p
on s.parent_id=p.type_id
第二:select p.type_id,p.type_name,count(s.type_name) from tdb_goods_types as p left join tdb_goods_types as s
on s.parent_id=p.type_id group by p.type_name order by p.type_id
on s.parent_id=p.type_id
第二:select p.type_id,p.type_name,count(s.type_name) from tdb_goods_types as p left join tdb_goods_types as s
on s.parent_id=p.type_id group by p.type_name order by p.type_id
2015-08-24
把原表想象成两个表s(子表),p(父表)然后两个表进行连接:
第一种显示父类,把s表中最后一列的id替换成p表name,连接的条件是子类s的最后一列等于父类p的id,获得的结果是子类id+子类类型+父类类型(s+s+p);
第二种显示子类,连接条件一样,可以参考第一种结果出现的表,只不过显示结果是先父类id+父类类型+子类类型(p+p+s)。
使用左连接可以把没有的为null显示。
第一种显示父类,把s表中最后一列的id替换成p表name,连接的条件是子类s的最后一列等于父类p的id,获得的结果是子类id+子类类型+父类类型(s+s+p);
第二种显示子类,连接条件一样,可以参考第一种结果出现的表,只不过显示结果是先父类id+父类类型+子类类型(p+p+s)。
使用左连接可以把没有的为null显示。
2015-08-24