【问题标题】:Source table for view QRYSTAT in NetezzaNetezza 中视图 QRYSTAT 的源表
【发布时间】:2016-05-24 19:30:27
【问题描述】:

我目前在 Aginity Workbench 上的 Netezza 环境中工作,我计划使用管理视图 _V_QRYSTAT 中的一些列在 MicroStrategy 中填充图表。

很遗憾,我无法让 MicroStrategy 识别 _V_QRYSTAT 中的任何列。我不认为它可以从视图中读取列,并且我认为解决此问题的最佳方法是找出 _V_QRYSTAT 视图从哪个表中获取其数据,但我不知道如何找到Netezza 中视图的源表。有谁知道可以在 Aginity Workbench 上的 Netezza 中用于定位视图源表(特别是 _V_QRYSTAT)的方法?

我对 SQL、Netezza 和 MicroStrategy 非常陌生,所以如果我不清楚,我深表歉意。如果需要进一步说明,请告诉我。

【问题讨论】:

    标签: sql view netezza microstrategy


    【解决方案1】:

    我很确定 MicroStrategy 会识别并使用视图,但要直接回答您的问题,您可以通过查询 _V_VIEW 系统视图来查看视图定义。

    select definition from _v_view where viewname = '_V_QRYSTAT';
                                                                                                                                                                                                                                                                                                                                                           DEFINITION                                                                                                                                                                                                                                                                                                                                                       
    ---------
    SELECT 
            QS.QS_SESSIONID, 
            QS.QS_PLANID   , 
            QS.QS_CLIENTID , 
            CASE 
                    WHEN ((VU.OBJID NOTNULL 
                                    ) 
                                    OR ("CURRENT_USEROID"() = 4900 
                                    ) 
                            ) 
                    THEN QS.QS_CLIIPADDR 
                    ELSE "NAME"(NULL::"VARCHAR") 
            END AS QS_CLIIPADDR, 
            CASE 
                    WHEN ((VU.OBJID NOTNULL 
                                    ) 
                                    OR ("CURRENT_USEROID"() = 4900 
                                    ) 
                            ) 
                    THEN QS.QS_SQL 
                    ELSE TEXT(NULL::"VARCHAR") 
            END AS QS_SQL , 
            QS.QS_STATE   , 
            QS.QS_TSUBMIT , 
            QS.QS_TSTART  , 
            QS.QS_PRIORITY, 
            QS.QS_PRITXT  , 
            QS.QS_ESTCOST , 
            QS.QS_ESTDISK , 
            QS.QS_ESTMEM  , 
            QS.QS_SNIPPETS, 
            QS.QS_CURSNIPT, 
            QS.QS_RESROWS , 
            QS.QS_RESBYTES 
    FROM 
            ((DEFINITION_SCHEMA."_T_QRYSTAT" QS 
    LEFT JOIN DEFINITION_SCHEMA."_T_SESSCTX" SS ON ( 
                    (QS.QS_SESSIONID = SS.SESSION_ID 
                    ) 
            )) 
    LEFT JOIN DEFINITION_SCHEMA."_V_USER" VU ON ( 
                    (SS.SESSION_USERNAME = VU.USERNAME 
                    ) 
            ));
    
    
    (1 row)
    

    这几乎肯定会让您减少几次递归,因为您感兴趣的视图既基于视图也基于表。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-12-02
      • 1970-01-01
      • 2011-09-25
      • 2018-11-15
      • 1970-01-01
      • 2020-03-30
      相关资源
      最近更新 更多