2014-05-16 64 views
-1

我要挖,雖然在一些列的表中的數據查找基於關閉Name柱和非重複行,因爲每個表有很多列(全50)在SQL Server返回無組非唯一的行通過

我不想使用一個組,因爲需要顯式聲明每一列。

有沒有找到允許使用SELECT *的非不同行的方法?

如果只是一個表格,我會輸入所有的列名稱,但現在我有4個不同的表格可以通過,看到我不得不通過更多的表格來運行相同的過程。

+0

我只看到你的未來動態SQL,使用sysbobjects和syscolumns中。 –

+0

我沒有提出動態SQL,雖然我從來沒有使用它,並不知道從哪裏開始製作這個。 – Matthew

+1

在SSMS中,如果將「對象資源管理器」中特定表中的「列」文件夾拖動到查詢窗口中,它會爲您插入所有列名稱,逗號分隔。 –

回答

1

使用窗口功能,在這種情況下,count(*)

select t.* 
from (select t.*, count(*) over (partition by name) as NameCnt 
     from table t 
    ) t 
where NameCnt > 1; 
+0

這很好,謝謝! – Matthew

+0

這將查找名稱重複的行,即使行的其餘部分不同。 – podiluska

+0

@ podiluska。 。 。這是一個奇怪的投訴,因爲OP找到了有用的答案。如果仔細閱讀這個問題,你可能會發現「非獨立行」可能意味着「基於名稱列的非獨立行」(如第一行所示)。 –

相關問題