我知道這是我與連接的錯誤,但不知道爲什麼我得到多行和錯誤的行數?雙連接導致重複的記錄和不正確的行數
我的TSQL:
DECLARE @PeopleIDTables TABLE (Column_Name varchar(500) NULL, Table_Name varchar(500) NULL)
INSERT INTO @PeopleIDTables
SELECT COLUMN_NAME + ',', TABLE_NAME
FROM INFORMATION_SCHEMA.COLUMNS
WHERE COLUMN_NAME LIKE 'People_ID'
ORDER BY TABLE_NAME
--SELECT * FROM @PeopleIDTables
SELECT PIT.Table_Name, I.rows NumberRows
FROM @PeopleIDTables PIT
JOIN sys.tables T ON PIT.Table_Name = T.name
JOIN sys.sysindexes I ON T.object_id = I.id
這裏是我的結果摘錄:
PEOPLE 770438
PEOPLE 770438
PEOPLE 770438
PEOPLE 770438
PEOPLE 770438
PEOPLE 770438
PEOPLE 770438
PEOPLE 0
時候其實有這樣的開發系統上只有一個DB,它只有一個人表? 查詢的前半部分準確返回具有People_Id列的64個表。
請幫忙。
謝謝
我要猜測至少「PEOPLE」表有多個索引。而且你在桌面上有一對多的索引,導致比我想的更多的記錄。 「[對於當前數據庫中的每個索引和表都包含一行,此視圖不支持XML索引,此視圖中不完全支持分區表和索引;請改爲使用sys.indexes目錄視圖。](http:/ /msdn.microsoft.com/en-us/library/ms190283.aspx)「 – xQbert 2014-09-04 18:53:24
是多個索引....對不起,我沒想過要先檢查... DOH! – GPGVM 2014-09-04 19:02:23