有两个表-实体表和帐户表。具有EntityID的实体表和具有AccountID的帐户表。第三个表EntityAccountAssociation同时包含EntityID和AccountID。-我知道。
我的场景是:假设在产品支持中,我不知道这个第三个表(没有人告诉我),那么,是否有任何查询来找到这个第三个表,以便在一个有100个表的大型数据库中获得关系?
For Example: In that query, I will pass these two column name as parameter and it will show me on which particular table these two columns exists.
请帮忙告诉我。谢谢。
最佳答案
如果您要查找的只是返回包含两列的表的查询,则可以执行以下操作:
-- DECLARE @col1 NVARCHAR(255) = 'X', @col2 NVARCHAR(255) = 'Y'
SELECT TABLE_SCHEMA + '.' + TABLE_NAME TablesContainingBoth
FROM INFORMATION_SCHEMA.COLUMNS
WHERE COLUMN_NAME IN (@col1, @col2)
GROUP BY TABLE_SCHEMA + '.' + TABLE_NAME
HAVING COUNT(*) > 1
如果只有一个表有两列,它将返回一个结果。
关于sql-server - 如何从SQL Server的整个数据库中获取确切的两列表),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34055851/