Addressing Columns Using Their Number

You can access columns using their numbers with $ followed by the column number.

This example

SELECT [f], [c]
FROM [dms]:[sysFolder] [f] JOIN [dms]:[sysParent2Child] JOIN [dms]:[customer] [r]

can therefore be reformulated to

SELECT $1, $3
FROM [dms]:[sysFolder] [f] JOIN [dms]:[sysParent2Child] JOIN [dms]:[customer] [r]
If there is a more complex type in the specified target column, then you can access its elements directly.
SELECT $1.[sysId]
FROM [dms]:[customer]

In the same way, you can also access the WHERE clause from the FROM clause.

SELECT $3
FROM [dms]:[sysFolder] [f] JOIN [dms]:[sysParent2Child] JOIN [dms]:[customer] [r]
WHERE $1.[sysid] = id'ABCDEF12345678901234567890123456'
This notation can also be used in the ORDER BY clause.
…ORDER BY $ 1

This notation is particularly suitable for dynamically combined queries. Imagine a script that receives any transferred eSQL query, in which it is only stipulated that it leads to a result table with a column and that objects are selected in the first column. Now you would like to build a filter around this query, e.g., limiting the search to a particular folder.

SELECT $3
FROM [dms]:[sysFolder] [f]
 JOIN [dms]:[sysParent2Child] [r],
 (<given query>) AS [x]
WHERE $3.[sysid] = [r].[sysid2]

The script is independent of the name of the given query's column. Without the $ notation, you need to request a particular name of the column from the caller.