oracle sql查询中“my_something”是什么意思?

乔纳森·哈根

我有一个运行 SQL 查询的 Java 代码,如下所示:

SELECT DISTINCT ven.enterprise_network_id, st.* FROM studies st inner join v_enterprise_network_members ven on st.ib_id=my_ib_id  WHERE ven.ib_id=:IB_ID AND (st.myvrn_expiration_date IS NULL OR st.myvrn_expiration_Date >= sysdate)  ORDER BY st.study_date DESC 

除了我不明白什么,我什么都明白st.ib_id=my_ib_id这是什么意思?这是整个方法,以防万一:

public List<Study> searchRepository(StudySearchCriteria criteria, boolean isEnterpriseNetwork,
                    boolean isExactNameMatch) {
        String selectForNone = null;
        String studyStatus = null;
        studyStatus = verifyStudyStatus(criteria, studyStatus, isEnterpriseNetwork);
        
        if (criteria.contains(SearchField.STUDY_STATUS) && StringUtils.isBlank(studyStatus)) {
            return new ArrayList<>();
        }
        
        if (StringUtils.isNotBlank(studyStatus) && studyStatus.contains(StudyPacsState.State.NONE.toString())) {
            selectForNone = "DISTINCT {st.*}, st.study_date as stdate FROM studies st";
        }
        
        StringBuffer select = new StringBuffer(512);
        StringBuffer where = new StringBuffer(512);
        StringBuffer orderBy = new StringBuffer(selectForNone != null ? "" : " ORDER BY st.study_date DESC ");
        select.append("SELECT ");
        if (criteria.containsWildcard()) {
            select.append(queryHint);
        }
        if (!isEnterpriseNetwork) {
            select.append(selectForNone != null ? selectForNone : "DISTINCT {st.*} FROM studies st");
            where.append(" WHERE st.ib_id=:IB_ID AND ").append(myVrnSql);
        }
        else {
///////////////////////////////////// HERE IS WHERE my_ib_id is
            select.append("DISTINCT ven.enterprise_network_id, {st.*} FROM studies st")
                            .append(" inner join v_enterprise_network_members ven on st.ib_id=my_ib_id ");
/////////////////////////////////////
            where.append(" WHERE ven.ib_id=:IB_ID AND ").append(myVrnSql);
        }
        StringBuilder queryForNone = selectForNone != null ? new StringBuilder(" UNION ") : new StringBuilder(" ");
        
        createStudyStatusQuery(criteria, isExactNameMatch, studyStatus, where, queryForNone, false);

        buildStudyQuery(criteria, select, where, orderBy, isEnterpriseNetwork, isExactNameMatch, true, false);

        if (criteria.contains(SearchField.STUDY_STATUS)) {
            select.append(" , smr_study_pacs_state sps ");
        }
        SQLQuery sq = null;

        Query hq = null;
        if (isEnterpriseNetwork) {
            sq = getSession().createSQLQuery(select.toString() + where.toString());
            sq.addEntity("st", Study.class).addScalar("enterprise_network_id", StandardBasicTypes.LONG)
                            .setCacheable(false).setCacheRegion("vrnstudysearch");
        }
        else {
            sq = getSession().createSQLQuery(select.toString() + where.toString() + queryForNone.toString());
            sq.addEntity("st", Study.class).setCacheable(false).setCacheRegion("vrnstudysearch");
            if (selectForNone != null) {
                sq.addScalar("stdate", StandardBasicTypes.TIMESTAMP);
            }
        }
        hq = sq;
        hq.setLong(SearchField.IB_ID.toString(), (Long) criteria.get(SearchField.IB_ID));
        supplyParameters(criteria, hq, isExactNameMatch);
        logger.info("Query searchRepository {}", hq.getQueryString());

        List<Study> result = null;
        if (!isEnterpriseNetwork) {
            if (selectForNone != null) {
                List<?> returned = hq.list();
                if (returned != null) {
                    result = new ArrayList<Study>();
                    for (Object n : returned) {
                        Object[] tuple = (Object[]) n;
                        Study st = (Study) tuple[0];
                        result.add(st);
                    }
                }
            }
            else {
                result = hq.list();
            }
        }
        else {
            List<?> returned = hq.list();
            if (returned != null) {
                result = new ArrayList<Study>();
                for (Object n : returned) {
                    Object[] tuple = (Object[]) n;
                    Study st = (Study) tuple[0];
                    st.setEnterpriseNetworkId((Long) tuple[1]);
                    result.add(st);
                }
            }
        }
        logger.debug(" returned " + (result == null ? 0 : result.size()));

        return result;
    }
穆雷尼克

st.ib_id=my_ib_id是连接条件 - 它定义了您在查询中连接的两个表之间的关系。据推测, my_ib_id 是其中一个表中的一列。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在Oracle中的SQL查询中,带有HAVING子句的1和2是什么意思?

Oracle:此表达式“ <>”在SQL查询中是什么意思?

在SQL / Oracle中,'%'和'.-1,%'以及',%'或'%'是什么意思?

':' 冒号在 Oracle 中是什么意思?

ORACLE-说明计划中的STORAGE是什么意思?

oracle中的<number> d或<number> f是什么意思?

在Oracle Schedular中,“ INTERVAL = 0”是什么意思?

在Oracle SQL Developer自动跟踪中LAST_CR_BUFFER_GETS是什么意思

=>在oracle pl sql。中是什么意思?它是在调用运算符吗?

Oracle中的Number(5)在C#中是什么意思

以下Oracle错误是什么意思:无效的列索引

Oracle:Dbms_Redefinition是什么意思?

活动会话和用户I / O在Oracle Enterprise Manager中是什么意思?

|| 有什么作用 ' ' || oracle SQL中的意思

$(“ something”)在Java中是什么意思?

\%和\\在SQL查询中是什么意思?

在SQL查询中“%()s”是什么意思?

这个符号在sql查询中是什么意思

在 SQL 查询中传入 {} 是什么意思?

这个SQL查询是什么意思?

/ * + * /在Oracle SQL中的用途是什么?

Oracle SQL 中的索引碎片是什么?

mysql查询中<>是什么意思?

oracle sql 中查找某个日期之前的产品订单的查询是什么?

*在sql中是什么意思?

${data} 在 SQL 中是什么意思?

const {something} =插件在angular中是什么意思?

“ Python中的getattr(self,'something')是正确的”是什么意思?

javascript onclick事件中的“ user:something”是什么意思?