3 votos

¿Cómo incluir los nombres de las capas al unirlas en capas virtuales?

Estoy creando una capa virtual en QGIS utilizando la siguiente declaración:

SELECT * FROM (
SELECT * FROM a UNION ALL
SELECT * FROM b UNION ALL
SELECT * FROM c
) AS merged_tables

¿Cuál es la mejor manera de añadir una columna a merged_tables que contenga el nombre de la capa de las tablas de origen (en este caso: a, b, c)? También estaría bien poder incluir la ruta de acceso a la fuente para a, b y c.

1voto

Josh Nankin Puntos 375

Lo siguiente le permite añadir una columna adicional con una cadena de su elección:

SELECT 'My String' AS Column_Name FROM Table_Name

Así que el código de la pregunta se convierte en:

SELECT * FROM (
SELECT * , 'a' as Source_Table FROM a UNION ALL
SELECT * , 'b' as Source_Table FROM b UNION ALL
SELECT * , 'c' as Source_Table FROM c
) AS merged_tables

Desgraciadamente, no he encontrado una forma de introducir el nombre de la tabla o la ruta de acceso que no sea mediante la introducción manual.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X