sql-server - 如何从 SQL Server 中的 entair 数据库中获取精确的两列表

标签 sql-server database sql-server-2008 sql-server-2005

有两个表 - 实体表和帐户表。具有 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/

相关文章:

mysql - 选择值为空或零的列

javascript - 基于时间的事件数据库(方法)

database - 速度、CouchDB View 和替代方案

sql-server - 触发器的死锁问题

SQL-使用 CASE 而不使用 GROUP BY

sql - 如何在SQL中从字符串中提取某些第n个字符

python - 从 Python 运行 SQL 'Kill'

sql-server - 可以在 sql server 脚本中嵌入 blob 数据吗?

sql-server - 聚集索引和创建它的表都包含实际数据吗?

SQL,数字辅助表