用户表
ID Name
1  admin
2  guest
3  user1权限表
ID Name
1  add
2  update
3  del用户权限表
U_ID  P_ID
1     1
1     2
1     3
3     2我想得到这样的结果,不知道怎么写?
U_ID U_Name add  update  del
1    admin   1      1     1
2    guest   0      0     0
3    user1   0      1     0
请各位大神帮帮忙,万分感谢!!!

解决方案 »

  1.   

    select b.uid,a.Name,
    max(if(c.Name='add',1,0)),
    max(if(c.Name='update',1,0)),
    max(if(c.Name='del',1,0))
     from 用户表 left join 用户权限表 b on a.id=b.uid
    left join 权限表 c on b.P_ID=c.id
    group by b.uid,a.Name
      

  2.   

    http://blog.csdn.net/acmain_chm/article/details/4283943
    MySQL交叉表
    在某些数据库中有交叉表,但在MySQL中却没有这个功能,但网上看到有不少朋友想找出一个解决方法,特发贴集思广义。http://topic.csdn.net/u/20090530/23/0b782674-4b0b-4cf5-bc1a-e8914aaee5ab.html?96198现整理解法如下:数据样本: create table tx(  id int primary key,  c1 c...