diff --git a/artemis_sqlmap/FeatureDbXRef.xml b/artemis_sqlmap/FeatureDbXRef.xml index 0b93402e8abe3843924413c47e45d283c123d4ff..f3455ea29a83985566cdce870698cfe65db2570b 100644 --- a/artemis_sqlmap/FeatureDbXRef.xml +++ b/artemis_sqlmap/FeatureDbXRef.xml @@ -58,18 +58,17 @@ <select id="getFeatureDbXRefsBySrcFeature" parameterClass="org.gmod.schema.sequence.Feature" resultMap="map-feature-dbxref"> - SELECT db.name, dbx.accession, dbx.version, dbx.description, - dbx_f.feature_id, dbx_f.is_current - FROM feature_dbxref dbx_f - LEFT JOIN dbxref dbx ON dbx.dbxref_id=dbx_f.dbxref_id - LEFT JOIN db ON db.db_id=dbx.db_id - LEFT JOIN feature f ON dbx_f.feature_id=f.feature_id - WHERE dbx_f.feature_id IN - (SELECT feature_id FROM featureloc fl WHERE srcfeature_id=$featureId$ + SELECT db.name, dbx.accession, dbx.version, dbx.description, + dbx_f.feature_id, dbx_f.is_current + FROM featureloc fl + RIGHT JOIN feature_dbxref dbx_f ON fl.feature_id = dbx_f.feature_id + LEFT JOIN dbxref dbx ON dbx.dbxref_id=dbx_f.dbxref_id + LEFT JOIN db ON db.db_id=dbx.db_id + WHERE srcfeature_id = $featureId$ <isGreaterThan property="featureLoc.fmin" compareValue="0" prepend="AND"> <![CDATA[ fl.fmin > $featureLoc.fmin$ AND fl.fmax < $featureLoc.fmax$ ]]> - </isGreaterThan>) - ORDER BY f.type_id, uniquename + </isGreaterThan> + ORDER BY fl.feature_id, dbx.accession , db.name; </select> <!-- WRITE BACK -->