In reply to Mark Jones.

Hi Mark,

SQL is very powerful -- as you know -- and the query builder does not support every permutation of a query, although it does aim to support the most common operations that even advanced users might need.

There is a way to achieve your result by DROPping the columns that you don't want, but not within the SQL. Instead, you can go to the "Options for this query" window (click Options toolbar in the query window) and add:
drop=const max_of_height
The code that results:

PROC SQL;
CREATE TABLE WORK.FOR_MARK(drop=const max_of_height) AS
SELECT t1.Name,
t1.Sex,
t1.Age,
t1.Height,
t1.Weight,
/* MAX_of_Height */
(MAX(t1.Height)) AS MAX_of_Height,
/* const */
(1) AS const
FROM SASHELP.CLASS t1
GROUP BY (CALCULATED const)
HAVING t1.height = max(t1.height);
QUIT;

You can also use the new subquery feature within EG 5.1 to achieve a similar result, and it might be more useful. You design the inner query first (calculating the MAX of Height), then save as a template. You can use that template as a filter in a different query. Here's the resulting code:

PROC SQL;
CREATE TABLE WORK.outer_query(label="with subquery") AS
SELECT t1.Name,
t1.Sex,
t1.Age,
t1.Height,
t1.Weight
FROM SASHELP.CLASS t1
WHERE t1.Height = (
SELECT /* MAX_of_Height */
(MAX(t1.Height)) AS MAX_of_Height
FROM SASHELP.CLASS t1
);
QUIT;