Project

General

Profile

« Previous | Next » 

Revision ef2701d9

Added by Patrick Plitzner over 7 years ago

ref #5458 streamlined SQL query

View differences:

src/main/java/eu/etaxonomy/cdm/vaadin/util/CdmQueryFactory.java
77 77
        		"LEFT OUTER JOIN DefinedTermBase dtb2 on tnb.rank_id = dtb2.id " +
78 78
        		"WHERE tn.id IN ("+ idString +") AND tb.DTYPE = 'Taxon'" ;
79 79

  
80
        String GROUP_BY = " GROUP BY tn.id ";
81

  
82 80
        String ORDER_BY = " ORDER BY tb.titleCache ";
83 81

  
84 82
        String SELECT_QUERY=
......
93 91
        for(String term : termList){
94 92
        	if(count == 1){
95 93
        		SELECT_QUERY= SELECT_QUERY +
96
            			"MAX( IF(dtb1.titleCache = '"+ term +"', dtb.titleCache, NULL) ) as '"+ term +"' " ;
94
            			"IF(dtb1.titleCache = '"+ term +"', dtb.titleCache, NULL) as '"+ term +"' " ;
97 95
        	}else{
98 96
        		SELECT_QUERY= SELECT_QUERY +
99
        				"MAX( IF(dtb1.titleCache = '"+ term +"', dtb.titleCache, NULL) ) as '"+ term +"'," ;
97
        				"IF(dtb1.titleCache = '"+ term +"', dtb.titleCache, NULL) as '"+ term +"'," ;
100 98
        	}
101 99
        	count--;
102 100
        }
103
        SELECT_QUERY= SELECT_QUERY + FROM_QUERY + GROUP_BY + ORDER_BY;
101
        SELECT_QUERY= SELECT_QUERY + FROM_QUERY + ORDER_BY;
104 102
        String COUNT_QUERY = "SELECT count(DISTINCT tb.id)" + FROM_QUERY;
105 103
//        String CONTAINS_QUERY = "SELECT * FROM TaxonNode tn WHERE tn.id = ?";
106 104
        String CONTAINS_QUERY = "SELECT * FROM TaxonBase tb WHERE tb.uuid = ?";

Also available in: Unified diff