LISTING 2: Solution That Uses a Subquery and UNION to Produce a Derived Table CREATE VIEW vw_names AS SELECT TOP 100 PERCENT * FROM ( SELECT first_name_0 AS first_name, middle_name_0 AS middle_name, last_name_0 AS last_name FROM ld_Residents UNION SELECT first_name_1 AS first_name, middle_name_1 AS middle_name, last_name_1 AS last_name FROM ld_Residents UNION SELECT first_name_2 AS first_name, middle_name_2 AS middle_name, last_name_2 AS last_name FROM ld_Residents UNION SELECT first_name_3 AS first_name, middle_name_3 AS middle_name, last_name_3 AS last_name FROM ld_Residents UNION SELECT first_name_4 AS first_name, middle_name_4 AS middle_name, last_name_4 AS last_name FROM ld_Residents ) n ORDER BY n.last_name