DB2 - INSERT INTO en VALUES in een CTE

Status
Niet open voor verdere reacties.

vvanasperen

Gebruiker
Lid geworden
9 mrt 2009
Berichten
68
Goedemiddag,

De volgende uitdaging houdt mij en een collega al de gehele dag bezig.

We zouden graag een common table expression (cte) gebruiken om een tabel bij te houden waarin de saldoklasses <50, 50-100, 100-250 en >250 staan. En deze cte dan gebruiken in de select statement. Dit lukt ons tot op heden nog niet. Ook op internet hebben we er nog geen voorbeelden van kunnen vinden (of melding dat dit überhaupt wel of niet kan). Natuurlijk zijn er wel ándere mogelijkheden om tot het gewenste resultaat te komen, maar we zouden het graag met één (cte) statement willen doen.

We dachten dat het ongeveer neer zou moeten komen op iets als onderstaande, maar dat werkt dus niet. Wie weet of dit dit kan en, ook belangrijk, hoe dit moet?

WITH TEMP_CTE (BALANCE_CLASS) AS (
VALUES ('< 50'), ('50-100'), ('100-250'), ('> 250')
)
SELECT
*
FROM
OTHER_TABLE
INNER JOIN TEMP_CTE

Alle hulp is meer dan welkom. Alvast bedankt voor het meedenken.

Groeten Vincent en Remco
 
Eureka!

Onze collega Roel kwam met de oplossing, waarvoor dank.
Door gebruik te maken van SYSIBM.SYSDUMMY1 kun je dit dus bewerkstelligen.

WITH TEMP_CTE AS (
SELECT '<50' AS BALANCE_CLASS FROM SYSIBM.SYSDUMMY1
UNION
SELECT '50-100' AS BALANCE_CLASS FROM SYSIBM.SYSDUMMY1
UNION
SELECT '100-250' AS BALANCE_CLASS FROM SYSIBM.SYSDUMMY1
UNION
SELECT '>250' AS BALANCE_CLASS FROM SYSIBM.SYSDUMMY1
)
SELECT
*
FROM
OTHER_TABLE
INNER JOIN TEMP_CTE
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan