Invalid table alias or column reference b Invalid table alias or column reference b sql sql

Invalid table alias or column reference b


Try doing this:

SELECT count(*) as TotalCount, b.region_codefrom XXX a INNER JOIN     YYY b     ON a.ui = b.uidwhere a.dt = '2015-04-15'group by b.region_codeorder by region_code

The problem with your code is that b.region_code doesn't exist after the order by. The alias exists (region_code) because that is in the select. The qualified alias does not, because the b is no longer valid after the group by. I think you could write:

order by max(b.region_code)

But that would be silly in this case.

Note that this is common to all databases, except MySQL.