... genau dafür gibt es Views!!!
create view ddd as (select ...)
und dann select * from ddd. (Soviel nur zum Select *, gegen den absolut nichts spricht, der Design Fehler liegt darin, dass beim select was anderes als Views verwendet werden)

D*B