Expand my Community achievements bar.

Don’t miss the AEM Skill Exchange in SF on Nov 14—hear from industry leaders, learn best practices, and enhance your AEM strategy with practical tips.
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')