Essentially we are sometimes (?) required to provide a reference to table even if I do not need it. E.g. Query input must contain atleast one table or query
The question I have is why query q1 SELECT 1
executes just fine and gives me 1 row-1 column resultant table with 1 as the value but query q2 SELECT * FROM q1
produces the aforementioned error?
When I change q1 to SELECT 1 from dummy_table
where dummy_table is a dummy table with dummy value, q2 runs fine.
Why q1's internal structure is in any way relevant to q2? q1 on its own works just fine. Does the q2 "unrolls" q1 and then compiles a statement
SELECT * FROM (SELECT 1)
(which on its own produces the same error). Can I somehow force Access not to peek into parents' internal structure?
Also why SELECT * FROM (SELECT 1)
gives an error and SELECT 1
works fine?