2013-08-13 38 views
16

là cách nào khác bất kỳ của họ hoặc sql truy vấn để tìm ra tên bảng cơ sở dữ liệu với một cột cụ thể hơn dưới đây,tìm tên bảng sql với một cột cụ thể

SELECT TABLE_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE COLUMN_NAME = 'NameID' 
+3

Tại sao bạn sẽ cần một cách khác? –

+1

Đó là cách nếu bạn muốn sử dụng các tiêu chuẩn SQL. Nếu không, bạn cần thêm thẻ cho sản phẩm RDBMS cụ thể của mình (ví dụ: Oracle, MySQL, v.v.) –

+0

điều này có thể khác nhau tùy thuộc vào RDBMS bạn đang sử dụng. – Randy

Trả lời

17

Trong SQL Server, bạn có thể truy vấn sys.columns.

Cái gì như:

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

Bạn có thể muốn một tra cứu thêm để giải quyết tên lược đồ, nếu bạn có bảng trong nhiều sơ đồ.

+0

đây là hình ảnh hoàn hảo vì nó chỉ cho bảng có một cột cụ thể – Rohaan

3

bạn có thể chạy truy vấn này

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; 
Các vấn đề liên quan