有两个表 - 实体表和帐户表。具有 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 中的 entair 数据库中获取精确的两列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34055851/