Hi @FreelanceReinh Thanks for your answer. It was really helpful and explained it well. Following your reasoning gives the following conclusion. If we change the where clause somewhat I get these results. where sex2 in(select sex2 from sashelp.class);
NOTE: Table WORK.CLASS2 created, with 10 rows and 5 columns.
where sex2 in(select 'F' from sashelp.class);
where sex2 in(select 'Hello' from sashelp.class);
where sex2 in(select name from sashelp.class);
NOTE: Table WORK.CLASS2 created, with 0 rows and 5 columns.
where sex2 in(select a.sex2 from sashelp.class as a);
ERROR: Column sex2 could not be found in the table/view identified with the correlation name A.
ERROR: Unresolved reference to table/correlation name a. First example is the original and there sex2 is correlated with sex2 in work.class. Next three examples evaluates the character expression and gives expected = rows. Last example when I explicitly point to sashelp.class with a.sex2 I get the error I expected in the first place. However what was new to me was that in example 1,2 and 3 the "from sashelp.class" in a sense is ignored. Example 1 the select uses sex2 from another table and in 2 and 3 from sashelp.class is sort of ignored. It is not quite a variable swap as @ChrisNZ suggest but more of an order for searching. Totally new to me and makes me wonder how many bugs I've created over the years. Thanks for your help.
... View more