我有一个数据库,其中包含很多没有数据的表。我想找到引用特定列的所有表,但我想确保显示的表具有数据且不为空。到目前为止,我已经能够使用
显示哪些表具有数据select
t.name TableName, i.rows Records
from sysobjects t, sysindexes i
where t.xtype = 'U' and i.id = t.id and i.indid in (0,1) AND rows > 0
order by TableName;
我还能够通过使用显示哪些表引用了我想要的特定列:
SELECT *
FROM INFORMATION_SCHEMA.COLUMNS
WHERE COLUMN_NAME = 'COLUMN_NAME'
我只是不知道如何将两者结合起来。
答案 0 :(得分:0)
你尝试过这样的事吗?
SELECT t.name TableName,
i.rows Records,
c.*
FROM sysobjects t
INNER JOIN sysindexes i ON i.id = t.id
INNER JOIN INFORMATION_SCHEMA.COLUMNS c ON t.name = c.TABLE_NAME
WHERE t.xtype = 'U'
AND i.indid IN(0, 1)
AND rows > 0
ORDER BY TableName;