When you select INTO TEMP, you are creating a table. As with any table, the columns of a temporary table must all have names. When you select a single column, the column in the temporary table receives the same name. When you select an expression, you must supply a name using a column alias, as in the following example:
SELECT order_num, ship_date, ship_date + 14 expected FROM orders INTO TEMP ord_dates
The temporary table ord_dates has three columns, which are named order_num, ship_date, and expected. The same principle applies to a view: each column must have a name. When you select every column of a view from a table, the view can have the same column names by default. When you derive any column of a view from an expression, you must give all the columns explicit names, as in the following example:
CREATE VIEW ord_dates(order_num, ship_date, expected) AS SELECT order_num, ship_date, ship_date + 14 FROM orders