2010-07-21 5 views
0

Ceci est en teradata.SQL: avoir un CTE juste des littéraux

Pour de bonnes raisons, je voudrais avoir quelque chose comme ci-dessous, où je commence par faire un CTE qui a juste une liste de littéraux, et peut ensuite faire référence dans des déclarations ultérieures:

with MyList(num) as(
    'a','b','c','d' 
) 

select foo from mytable where x in (select(num) from MyList)) 

Ceci est un exemple très artificiel, et je sais qu'il aurait peu d'applications dans la réalité. Mais ça arrive à la question.

Merci!

Répondre

1

Faire une requête qui renvoie ce résultat:

with MyList(num) as(
    select 'a' union all 
    select 'b' union all 
    select 'c' union all 
    select 'd' 
) 
1

supporte-t teradata standard SQL constructeurs de ligne?

WITH MyList (num) 
    AS 
    (
     SELECT num 
     FROM (
       VALUES ('a'), 
        ('b'), 
        ('c'), 
        ('d') 
      ) AS MyList (num) 
    ) 
SELECT num 
    FROM MyList; 
Questions connexes