Tengo una base de datos con aproximadamente 100 tablas y necesito crear una consulta de unión para obtener datos específicos de dos de ellas. Conozco uno pero no el otro. Básicamente necesito algo como:
select <tables> from <database> where exists table.column name;
¿Cómo puedo hacer esto?

Respuestas:
Utilizando
information_schemaEsta es la forma cruzada de RDBMS compatible con los estándares para hacerlo.
Puedes ver esto documentado
fuente
INFORMATION_SCHEMA, por nuestro propio @AaronBertrand ( sqlblog.com/blogs/aaron_bertrand/archive/2011/11/03/… )information_schema.columnsdesde 2006. Una década completa incluso antes de implementarlas. Si Microsoft SQL no es compatible con el estándar, quizás deberíamos considerar molestarlos. Otros lo hacenPara IBM DB2, usaría lo siguiente:
Tenga en cuenta que en DB2, los nombres de las columnas estarán en mayúsculas a menos que se definan dentro de comillas dobles con algo distinto de mayúsculas. Luego, también debe proporcionar la carcasa exacta del nombre de la columna.
fuente
WHERE UPPER(colname) = 'COLUMN_NAME'.La siguiente consulta debería darle lo que está buscando:
Si está buscando columnas con un nombre exacto, simplemente reemplace la
WHEREcláusula con:fuente
en Teradata 15:
fuente
Oracle sql / plsql:
fuente
Pase el nombre de la columna a esta variable:
$COLUMN_NAMEfuente
// Seleccione la tabla Particular:
fuente
Para SQL Server:
fuente