$sql = qq/ SELECT DISTINCT min(escore) as escore, org_id FROM blast, protein WHERE EXISTS ( SELECT id2, escore, org_id2 FROM blast, protein WHERE id1 = id AND text_id = ? UNION SELECT id1, escore, org_id1 FROM blast, protein WHERE id2 = id AND text_id = ? ) GROUP BY org_id /;