# AQL problems with the clause 'CONTAINS' searching for an EHR with two different compositions

**URL:** https://discourse.openehr.org/t/aql-problems-with-the-clause-contains-searching-for-an-ehr-with-two-different-compositions/3765
**Category:** Platform
**Tags:** aql, ehrbase
**Created:** [29 March 2023 10:10 UTC](https://discourse.openehr.org/t/aql-problems-with-the-clause-contains-searching-for-an-ehr-with-two-different-compositions/3765 "2023-03-29T10:10:32Z")
**Posts on this page:** 4
**Page:** 1

<div class="post-metadata">

### Author: ![Miguel\_Frias\_Carmona](https://discourse.openehr.org/user_avatar/discourse.openehr.org/miguel_frias_carmona/32/2528_2.png) [@Miguel\_Frias\_Carmona](https://discourse.openehr.org/u/Miguel_Frias_Carmona)
#### Post date: [29 March 2023 10:10 UTC](https://discourse.openehr.org/t/aql-problems-with-the-clause-contains-searching-for-an-ehr-with-two-different-compositions/3765/1 "2023-03-29T10:10:32Z")

</div>

I’m trying to search an ehr with two COMPOSITIONS. I’m doing this query:

“q”: “SELECT e/ehr\_id/value FROM EHR e CONTAINS (COMPOSITION c1 [openEHR-EHR-COMPOSITION.observation\_basica.v0]) AND (COMPOSITION c2 [openEHR-EHR-COMPOSITION.evaluation\_basica.v0])”

It returns 0 rows, but it should returns 1.

I have tried with “(” and without it, but not works correctly.

Any help?

Thanks!

---

<div class="post-metadata">

### Author: ![ian.mcnicoll](https://discourse.openehr.org/user_avatar/discourse.openehr.org/ian.mcnicoll/32/4430_2.png) [@ian.mcnicoll](https://discourse.openehr.org/u/ian.mcnicoll)
#### Post date: [30 March 2023 08:31 UTC](https://discourse.openehr.org/t/aql-problems-with-the-clause-contains-searching-for-an-ehr-with-two-different-compositions/3765/2 "2023-03-30T08:31:23Z")

</div>

> [@Miguel\_Frias\_Carmona](#):
>
> “q”: “SELECT e/ehr\_id/value FROM EHR e CONTAINS (COMPOSITION c1 [openEHR-EHR-COMPOSITION.observation\_basica.v0]) AND (COMPOSITION c2 [openEHR-EHR-COMPOSITION.evaluation\_basica.v0])”

Have you tried

```sql
“q”: “SELECT e/ehr_id/value FROM EHR e CONTAINS (COMPOSITION c1 [openEHR-EHR-COMPOSITION.observation_basica.v0] AND COMPOSITION c2 [openEHR-EHR-COMPOSITION.evaluation_basica.v0])”

```

---

<div class="post-metadata">

### Author: ![Miguel\_Frias\_Carmona](https://discourse.openehr.org/user_avatar/discourse.openehr.org/miguel_frias_carmona/32/2528_2.png) [@Miguel\_Frias\_Carmona](https://discourse.openehr.org/u/Miguel_Frias_Carmona)
#### Post date: [5 April 2023 07:15 UTC](https://discourse.openehr.org/t/aql-problems-with-the-clause-contains-searching-for-an-ehr-with-two-different-compositions/3765/3 "2023-04-05T07:15:21Z")

</div>

Thanks for the response. In this way I had already tried it. The query continues to return 0 rows.

---

<div class="post-metadata">

### Author: ![ian.mcnicoll](https://discourse.openehr.org/user_avatar/discourse.openehr.org/ian.mcnicoll/32/4430_2.png) [@ian.mcnicoll](https://discourse.openehr.org/u/ian.mcnicoll)
#### Post date: [5 April 2023 16:29 UTC](https://discourse.openehr.org/t/aql-problems-with-the-clause-contains-searching-for-an-ehr-with-two-different-compositions/3765/4 "2023-04-05T16:29:28Z")

</div>

Thanks Miguel,

I can replicate this on EhrBase i.e no rows found where there should be 1.

```auto
select e/ehr_id/value as ehrId, 
c/archetype_details/archetype_id/value as archetype1,
c/uid/value as uid,
c/context/start_time/value as compositionStartTime,
c/name/value as compositionName,
c2/name/value as compositionName2,
c2/uid/value as uid2,
c2/archetype_details/archetype_id/value as archetype2,
c2/context/start_time/value as compositionStartTime2 
from EHR e
contains (COMPOSITION c [openEHR-EHR-COMPOSITION.report-result.v1] AND COMPOSITION c2[openEHR-EHR-COMPOSITION.transfer_summary.v1])

```

Can I suggest you report this as a bug at [GitHub - ehrbase/ehrbase: An open source openEHR server](https://github.com/ehrbase/ehrbase) ?
