It is possible, but it's tedious. It really depends on how you want the result set to be used. For example, if you have a query that returns a value that you want to use in a subsequent query, you could pass it into the subsequent query something like this:
select *
from table_a
where criteria_1 = '{TASK(Query1TaskID|StdOut)}'
But that method would only work if the first query returns only a single value. If your first query returns multiple fields,
select *
from table_a
where criteria_1 = '{STRING(GetColumn|1|1|,|{TASK(Query1TaskID|StdOut)})}'
and criteria_2 = '{STRING(GetColumn|1|2|,|{TASK(Query1TaskID|StdOut)})}'
If your first query returns 1 field but multiple records, you could have your first query set up to return something in CSV format, something like this:
select '"' || field_1 || '","
from table_a
That would return results something like this:
"result 1",
"result 2",
"result 3"
And then you could set up your subsequent query like this:
select *
from table_a
where criteria_1 in ({TASK(Query1TaskID|StdOut)})