Pregunta

Tengo una tabla de base de datos, vamos a llamarlo cabeceras con un ID y un campo de cadena llamado "cabecera". Otra tabla en la base de datos, llamados sub-cabeceras tiene dos campos, headerId y la cadena campo "subtítulo". Hay 0, 1 o 2 subheaders por cabecera. Ahora quiero usar la caldera / Pentaho Data Integration para generar una salida de Excel con las siguientes columnas:

header subheader1 subheader2

He intentado lo siguiente: Entrada de mesa en las "cabeceras", entrada de tabla de la "sub-cabeceras" para subheader1, entrada de tabla de la "sub-cabeceras" para subheader2. Una "consulta de base de datos" no es posible, ya que no me permite excluir la subheader1 en la consulta para subheader2.

Mi principal problema es que no puedo hacer referencia a los campos de flujo en la instrucción SQL directamente, sino que en su lugar tienen que confiar en el orden de los campos. El primer signo de interrogación se llena con el primer campo de flujo, y así sucesivamente.

Las consultas: Para la mesa "cabeceras":

SELECT id, header FROM headers

Para la tabla "subheaders" (2 pasos de entrada Tabla en una fila):

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

Cualquier idea, la forma de resolver este problema muy bien?

Gracias por cualquier idea.

¿Fue útil?

Solución

I solucionó este problema mediante el uso de un JOIN constructo en una entrada de tablas.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top