wenn sonst innerhalb von CTE?

Ich möchte eine select-Anweisung innerhalb von CTE basierend auf einer Codierung ausführen. so etwas wie unten

;with CTE_AorB
(
  if(condition)
    select * from table_A
   else
    select * from table_B
),
CTE_C as
(
   select * from CTE_AorB // processing is removed
)

Aber ich bekomme Fehler dazu. Ist es möglich, wenn sonst innerhalb von CTEs zu haben? Wenn nicht, gibt es eine Lösung oder einen besseren Ansatz.

Vielen Dank