用birt的话来说就是一个table需要用3个sql来写对么?横的还是竖的?横的就把他拆成3个list,竖的就在后面拼,birt本身的嵌套用过么?这个也能解决一部分问题。最后实在没办法就只能写存储过程了。把数据抽取到一个适合这个list的表里,然后一条sql完事。