Làm cách nào để có được tất cả các tên bảng có tên cột đã tồn tại? Tôi muốn tên với "Like" trong máy chủ sql. Ví dụ: -Tìm tất cả các tên bảng có tên cột?
select TableNames where columnname like '%MyColumn%'
Xin hãy giúp tôi
Làm cách nào để có được tất cả các tên bảng có tên cột đã tồn tại? Tôi muốn tên với "Like" trong máy chủ sql. Ví dụ: -Tìm tất cả các tên bảng có tên cột?
select TableNames where columnname like '%MyColumn%'
Xin hãy giúp tôi
Vui lòng thử truy vấn dưới đây. Sử dụng sys.columns để có được thông tin chi tiết: -
SELECT c.name AS ColName, t.name AS TableName
FROM sys.columns c
JOIN sys.tables t ON c.object_id = t.object_id
WHERE c.name LIKE '%MyCol%';
và để xem tên lược đồ, hãy thêm SCHEMA_NAME (t.schema_id) –
Hãy thử như thế này: cho SQL SERVER 2008+
SELECT c.name AS ColName, t.name AS TableName
FROM sys.columns c
JOIN sys.tables t ON c.object_id = t.object_id
WHERE c.name LIKE '%MyColumnaName%'
Hoặc
SELECT COLUMN_NAME, TABLE_NAME
FROM INFORMATION_SCHEMA.COLUMNS
WHERE COLUMN_NAME LIKE '%MyName%'
Hoặc như thế này:
SELECT name
FROM sys.tables
WHERE OBJECT_ID IN (SELECT id
FROM syscolumns
WHERE name like '%COlName%')
Bạn có thể làm điều 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 '%MyColumn%'
ORDER BY schema_name, table_name;
tham khảo:
** không trùng lặp ** vì câu hỏi này gọi là 'LIKE' vì vậy là yêu cầu rộng hơn. Câu trả lời được chọn cũng cung cấp tên cột để giải quyết sự thay đổi của các tên cột mà LIKE sẽ trả về. – gordon