Details
-
Bug
-
Status: Confirmed (View Workflow)
-
Major
-
Resolution: Unresolved
-
10.4.5, 5.5(EOL), 10.1(EOL), 10.2(EOL), 10.3(EOL), 10.4(EOL), 10.5, 10.6, 10.7(EOL), 10.8(EOL), 10.9(EOL), 10.10(EOL)
-
MariaDB 10.4.5-bionic in Docker on Ubuntu 19.04
Description
When I execute the following Code, I get the error message "Unknown column 'B.AJ' in 'having clause'". I expect that the column can be found (like in the GROUP BY clause or in the examples below) and the sql query can be executed properly.
CREATE SCHEMA A ; |
|
CREATE TABLE A.B (AJ INTEGER) ; |
|
-- Unknown column 'B.AJ' in 'having clause
|
SELECT 1 AS A FROM A.B CROSS JOIN A.B AS C GROUP BY B.AJ, C.AJ HAVING B.AJ < C.AJ; |
If I delete the HAVING clause completely, the statement gets executed, so it knows the column name in the group by clause.
-- No Error
|
SELECT 1 AS A FROM A.B CROSS JOIN A.B AS C GROUP BY B.AJ, C.AJ; |
Additionally, If I use SUM(B.AJ) (and SUM(C.AJ)) instead, everything works fine and the query can be executed.
-- No Error
|
SELECT 1 AS A FROM A.B CROSS JOIN A.B AS C GROUP BY B.AJ, C.AJ HAVING SUM(B.AJ) < SUM(C.AJ); |
If I use the exact same condition in a WHERE clause, it also works properly:
-- No Error
|
SELECT 1 AS A FROM A.B CROSS JOIN A.B AS C WHERE B.AJ < C.AJ GROUP BY B.AJ, C.AJ ; |