Home > Enterprise >  What does "my_something" means in oracle sql query?
What does "my_something" means in oracle sql query?

Time:09-16

I have some Java code that runs an SQL query like this:

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 

I understand everything except I don't understand what st.ib_id=my_ib_id. What does it mean? This is the whole method just in case if it helps:

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;
    }

CodePudding user response:

st.ib_id=my_ib_id is the join condition - it defines the relationship between the two tables you are joining in the query. Presumably, my_ib_id is a column in one of those tables.

  • Related