在具有相同年份的数字重复的情况下,如何返回ProductNumbers? 这些都在同一张表中。 在下面的示例中,我希望返回ProductNumber 123和456。 解释原因,谢谢!
ProductNumber Numb Year
123 45 1
456 45 1
789 45 2
109 54 2
答案 0 :(得分:1)
以下是使用exists
的一种选择:
select *
from yourtable t
where exists (
select 1
from yourtable t2
where t.productnumber != t2.productnumber
and t.numb = t2.numb
and t.year = t2.year
)
使用exists
,我们检查同一表中是否还有其他记录,它们的productnumber
不同,但具有相同的numb
和year
值。
答案 1 :(得分:0)
您可以使用EXISTS()
:
SELECT *
FROM Table T1
WHERE EXISTS
(
SELECT 1
FROM
(SELECT Numb ,Year
FROM Table
GROUP BY Numb
,Year
HAVING COUNT(1)>1
) T2
WHERE T1.Numb = T2.Tumb
AND T1.Year = T2.Year
)
答案 2 :(得分:0)
您也可以使用INNER JOIN
SELECT t1.ProductNumber
FROM Products t1
INNER JOIN Products as t2
ON t1.ProductNumber != t2.ProductNumber
AND t1.Numb = t2.Numb
AND t1.Year = t2.Year