2010-10-29 29 views
1

J'ai une table de base de données, appelons-la des en-têtes avec un ID et un champ String appelé "en-tête". Une autre table de la base de données, appelée sous-en-tête, comporte deux champs, headerId et le champ String "subheader". Il y a 0, 1 ou 2 sous-titres par en-tête. Je veux maintenant utiliser Kettle/Pentaho Data Integration pour générer une sortie Excel avec les colonnes suivantes:Mise en place de plusieurs restransformations DB dans une ligne de flux

header subheader1 subheader2 

J'ai essayé ce qui suit: Tableau d'entrée sur les « têtes », entrée de table sur les « sous-en » pour subheader1, entrée de table sur "sous-titres" pour le sous-en-tête2. Une "recherche de base de données" n'est pas possible car cela ne me permet pas d'exclure le sous-entête1 dans la requête de sous-entête2.

Mon principal problème est que je ne peux pas directement référencer les champs de flux dans l'instruction SQL, mais que je dois plutôt me fier à l'ordre des champs. Le premier point d'interrogation est rempli avec le premier champ de flux, et ainsi de suite.

Les requêtes: Pour la table "en-têtes":

SELECT id, header FROM headers 

Pour la table "sous-en" (2 étapes d'entrée de table dans une rangée):

SELECT subheader AS subheader1, ? AS header FROM subheaders WHERE headerId = ? 
SELECT ? AS subheader1, subheader AS subheader2, ? AS header WHERE headerId = ? <- doesn't work as I don't have a reference to the header-ID anymore 

Toute idée, comment résoudre ce problème bien?

Merci pour vos idées.

Répondre

0

J'ai résolu ce problème en utilisant une construction JOIN dans une entrée de table.