有两表A、B表A:
No  Name  Right  DeptNo
0001  张三  一审  01,02
0001  张三  二审  01,02
0002  李四  一审  01,02,03,04表B
DeptNo DeptName
01 行政部
02 财务部
03 生产部
04 工程部想要结果:No    Name    Role         DeptName
0001  张三  一审,二审       行政部
    财务部0002  李四     一审         行政部
            财务部
    生产部
    工程部
防止格式乱,截图一张以下:

解决方案 »

  1.   

    你这个结果已经违反了第一范式,还是用报表工具做吧。用sql查出来也不好用。
      

  2.   


    那现在把表A查成以下样子如何做:表A:
    No  Name      Right          DeptNo
    0001  张三      一审,二审          01,02
    0002  李四      一审          01,02,03,04
      

  3.   

    或者这样子:表A:
    No  Name  Right  DeptNo
    0001  张三  一审  01,02
              二审 
    0002  李四  一审  01,02,03,04
      

  4.   

    采用group by 进行分组,其他列比如right列可采用http://topic.csdn.net/u/20091113/12/e1934fa2-6461-4b73-bdb9-19dd92ea5e95.html进行解决.
      

  5.   

    想要得到你期望的结果好像单sql应该是做不到的吧!
    按照下面的还是挺简单的:
    No Name Role DeptName
    0001 张三 一审,二审 行政部,财务部