我只需要从表格中选择重复的记录。查询已成功执行,但没有数据。
我的代码:
SELECT PRACOWNK.X_I, Imie,Nazwisko, HISTORIA.X_I, HISTORIA.NrKartyRCP
FROM R2P_psou_dane_1.dbo.PRACOWNK
JOIN R2P_psou_dane_1.dbo.HISTORIA on PRACOWNK.X_I=HISTORIA.X_IPracownik
WHERE AktZatrudnienie = 1
GROUP BY PRACOWNK.X_I,Nazwisko,Imie,HISTORIA.X_I, HISTORIA.NrKartyRCP
HAVING COUNT(PRACOWNK.X_I) > 1;
你能帮忙吗?
答案 0 :(得分:1)
自SQL Server
以来,您可以使用ROW_NUMBER()
功能
SELECT * FROM (
SELECT PRACOWNK.X_I, Imie,Nazwisko, HISTORIA.X_I, HISTORIA.NrKartyRCP,
ROW_NUMBER() OVER(PARTITION BY PRACOWNK.X_I ORDER BY PRACOWNK.X_I) AS rn
FROM R2P_psou_dane_1.dbo.PRACOWNK
JOIN R2P_psou_dane_1.dbo.HISTORIA on PRACOWNK.X_I=HISTORIA.X_IPracownik
WHERE AktZatrudnienie = 1 ) xxx
WHERE rn = 1;
答案 1 :(得分:0)
如果您想根据PRACOWNK.X_I的数量获取记录,请从select和Group by中删除此列。
SELECT Imie,Nazwisko, HISTORIA.X_I, HISTORIA.NrKartyRCP
FROM R2P_psou_dane_1.dbo.PRACOWNK
JOIN R2P_psou_dane_1.dbo.HISTORIA on PRACOWNK.X_I=HISTORIA.X_IPracownik
WHERE AktZatrudnienie = 1
GROUP BY Nazwisko,Imie,HISTORIA.X_I, HISTORIA.NrKartyRCP
HAVING COUNT(PRACOWNK.X_I) > 1;
答案 2 :(得分:0)
获取所有数据并放入临时表。
SELECT PRACOWNK.X_I, Imie,Nazwisko, HISTORIA.X_I, HISTORIA.NrKartyRCP
INTO #temp
FROM R2P_psou_dane_1.dbo.PRACOWNK
JOIN R2P_psou_dane_1.dbo.HISTORIA on PRACOWNK.X_I=HISTORIA.X_IPracownik
WHERE AktZatrudnienie = 1
然后检查有条件
SELECT * FROM #temp
group by PRACOWNK.X_I, Imie,Nazwisko, HISTORIA.X_I, HISTORIA.NrKartyRCP
HAVING COUNT(PRACOWNK.X_I) > 1;