发新话题
打印

关于预览后,不显示-字段的问题

关于预览后,不显示-字段的问题

select * from (
select t.usrid station,tur.country mktName,sum(t.hitsCount) totalHitsDistinct,count(t.fileid) stories from
(select  b.usrid usrid,count(fileid) hitsCount,b.fileid
     from TAB_TOUTIAO_CONTENT A, TAB_NEWSVIDEO_DOWNRECORDER B
          WHERE A.FILE_ID = B.FILEID  AND  A.CONTENT_TYPE = '15'  AND B.USRID NOT LIKE 'ceshi'  AND
                A.TIME = '1' AND A.TOTV = '1'
                 GROUP BY b.usrid,b.fileid)  t ,tab_user tur where
                                                  tur.user_id = t.usrid
                                                        group BY  t.USRID,tur.country order by  totalHitsDistinct desc)

这条sql在预览里,执行正常,下一步的时候,就什么字段都不显示啦。。。。
2年前想用来着,那时没用上,,这次正好项目要用到报表,想用,没想到一开头就遇到了这么一个问题。。伤心啊
我现在的操作系统是win7。

TOP

噢,原来不支持 别名啊

写成这种方式以后,解决啦。字段显示select * from (
select usrid STATION,tab_user.country MKT_NAME,sum(hitsCount) TOTAL_HITS_DISTINCT,count(fileid) STORIES from
(select  TAB_NEWSVIDEO_DOWNRECORDER.usrid usrid,count(fileid) hitsCount,TAB_NEWSVIDEO_DOWNRECORDER.fileid
     from TAB_TOUTIAO_CONTENT, TAB_NEWSVIDEO_DOWNRECORDER
          WHERE TAB_TOUTIAO_CONTENT.FILE_ID = TAB_NEWSVIDEO_DOWNRECORDER.FILEID  AND  TAB_TOUTIAO_CONTENT.CONTENT_TYPE = '15'  AND TAB_NEWSVIDEO_DOWNRECORDER.USRID NOT LIKE 'ceshi'  AND
               TAB_TOUTIAO_CONTENT.TIME = '1' AND TAB_TOUTIAO_CONTENT.TOTV = '1'
                 GROUP BY TAB_NEWSVIDEO_DOWNRECORDER.usrid,TAB_NEWSVIDEO_DOWNRECORDER.fileid)  ,tab_user  where
                                                  tab_user.user_id = usrid
                                                        group BY  USRID,tab_user.country order by  TOTAL_HITS_DISTINCT desc)

TOP

sql要用别名,可以用这种方式

1.改<demos>.xml 里头 return getTableModel();
2.源码:GlobalScripts.java   method:getTableModel()
这个类可以增加getTableModel(String mouldName,String paramStr);
mouldName:这是要读的<demos>.xml
paramStr:这个是要拼SQL语句用的参数,可以a,b,c,d这种方式拼,,然后根据需要拼sql语句的时候用。
3.在xml里用的时候,可以是
        <NodeSource>
                <Children ItemClass="ArrayNodeSource">
                        <Item0>
                                <TagName>tablemodel</TagName>
                                <Expression>return getTableModel("reportA",paramArray) ;
                                        //此方法返回一个javax.swing.table.TableModel对象</Expression>
                        </Item0>
                </Children>
        </NodeSource>
4.然后在getTableModel(String mouldName,String paramStr)里头,可以灵活的写各种执行sql语句的方法。
具体可以写成mouldName传什么参数,就根据参数选择要执行的SQL。

TOP

这哥们研究好深入,呵呵,

TOP

发新话题