CREATE TABLE test1 (id int);
CREATE TABLE test2 (id int);
insert into test1 values (1);
insert into test2 values (2);
with
nms as (select * from (values ('test1'), ('test2')) t1 (nm))
--SELECT * FROM (CAST (SELECT name FROM names LIMIT 1) as name) t1
SELECT * FROM ((SELECT nm::name FROM nms limit 1)) t1;