33

Is their any other way or sql query to find the database table names with a particular column than shown below,

SELECT TABLE_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE COLUMN_NAME = 'NameID'
Damien_The_Unbeliever
  • 234,701
  • 27
  • 340
  • 448
RobertKing
  • 1,853
  • 8
  • 30
  • 54

4 Answers4

31

In SQL Server, you can query sys.columns.

Something like:

 SELECT
     t.name
 FROM
     sys.columns c
        inner join
     sys.tables t
        on
           c.object_id = t.object_id
 WHERE
     c.name = 'NameID'

You might want an additional lookup to resolve the schema name, if you have tables in multiple schemas.

Damien_The_Unbeliever
  • 234,701
  • 27
  • 340
  • 448
7

you can run this query

SELECT t.name AS table_name,
SCHEMA_NAME(schema_id) AS schema_name,
c.name AS column_name
FROM sys.tables AS t
INNER JOIN sys.columns c ON t.OBJECT_ID = c.OBJECT_ID
WHERE c.name LIKE '%Column%' -- write the column you search here
ORDER BY schema_name, table_name;
Etibar - a tea bar
  • 1,912
  • 3
  • 17
  • 30
0

For Oracle Database. Use the below query:

select table_name from all_tab_columns where column_name = 'NameID';

If you’ve got DBA privileges, you can try this command instead:

select table_name from dba_tab_columns where column_name = 'NameID';
Shaini Sinha
  • 527
  • 6
  • 10
-1
SELECT TABLE_CATALOG, TABLE_SCHEMA, TABLE_NAME, COLUMN_NAME, 
ORDINAL_POSITION as org_pos, DATA_TYPE, CHARACTER_MAXIMUM_LENGTH as CML
FROM INFORMATION_SCHEMA.COLUMNS
WHERE COLUMN_NAME like '%Here Column Name%'
ORDER BY TABLE_NAME
Muhammad Junaid
  • 129
  • 1
  • 5