Expand my Community achievements bar.

Dive into Adobe Summit 2024! Explore curated list of AEM sessions & labs, register, connect with experts, ask questions, engage, and share insights. Don't miss the excitement.
SOLVED

Not able to check "jcr:lastModified" for Multiple Paths | SQL 2 Query

Avatar

Level 2

Hi,

I am trying to get pages under the Multiple paths between  last modified date range (fromDate and toDate) . The results are coming but its wrong when checked with "jcr:lastModified". Also it is returning results for the pages where jcr:lastModified property is not exists.

SELECT * FROM [cq:PageContent] AS s WHERE ISDESCENDANTNODE([/content/we-retail/us/en/experience]) OR ISDESCENDANTNODE([/content/we-retail/us/en/men]) and [jcr:lastModified] >= '2016-01-01T00:00' and [jcr:lastModified] <= '2019-10-10T00:00'

The same query when tried with Single path, it is working fine. Could someone please tell me why the query is not working fine when more than paths are given?

SELECT * FROM [cq:PageContent] AS s WHERE ISDESCENDANTNODE([/content/we-retail/us/en/experience]) and [jcr:lastModified] >= '2016-10-01T00:00' and [jcr:lastModified] <= '2019-10-10T00:00'

1 Accepted Solution

Avatar

Correct answer by
Level 2

Hi Gaurav,

Thanks for your timely help!   Your query is working as expected post removing 2 extra brackets (which was throws parse exception).

SELECT * FROM [cq:PageContent] AS s WHERE (ISDESCENDANTNODE([/content/we-retail/us/en/experience]) and [jcr:lastModified] >= '2016-01-01T00:00' and [jcr:lastModified] <= '2019-10-10T00:00')

OR

(ISDESCENDANTNODE([/content/we-retail/us/en/men]) and [jcr:lastModified] >= '2016-01-01T00:00' and [jcr:lastModified] <= '2019-10-10T00:00')

View solution in original post

2 Replies

Avatar

Level 10

The brackets should be in appropriate position just like in a normal SQL query. Try this

SELECT * FROM [cq:PageContent] AS s WHERE

(ISDESCENDANTNODE([/content/we-retail/us/en/experience]) and [jcr:lastModified] >= '2016-01-01T00:00' and [jcr:lastModified] <= '2019-10-10T00:00'))

OR

(ISDESCENDANTNODE([/content/we-retail/us/en/men]) and [jcr:lastModified] >= '2016-01-01T00:00' and [jcr:lastModified] <= '2019-10-10T00:00'))

Avatar

Correct answer by
Level 2

Hi Gaurav,

Thanks for your timely help!   Your query is working as expected post removing 2 extra brackets (which was throws parse exception).

SELECT * FROM [cq:PageContent] AS s WHERE (ISDESCENDANTNODE([/content/we-retail/us/en/experience]) and [jcr:lastModified] >= '2016-01-01T00:00' and [jcr:lastModified] <= '2019-10-10T00:00')

OR

(ISDESCENDANTNODE([/content/we-retail/us/en/men]) and [jcr:lastModified] >= '2016-01-01T00:00' and [jcr:lastModified] <= '2019-10-10T00:00')