我有一个表有2个重复行(总共3行),所以我使用下面的代码来获取列中的重复值
SELECT CustNo, COUNT(*) TotalCount
FROM Rental
GROUP BY CustNo
HAVING COUNT(*) > 1
ORDER BY COUNT(*) DESC
因此,一旦我获得重复值,我需要从客户表中获取作为重复派生的CustNo。如何获取此值并在同一查询中的选择语句中使用它。 我也有像这样准备的选择声明。
Select * from Customer where CustNo = 'T0002';
感谢。
答案 0 :(得分:3)
Select * from Customer
where CustNo IN
(
SELECT CustNo
FROM Rental
GROUP BY CustNo
HAVING COUNT(*) > 1
)
答案 1 :(得分:1)
您可以使用join
:
SELECT c.*
FROM (SELECT CustNo, COUNT(*) TotalCount
FROM Rental
GROUP BY CustNo
HAVING COUNT(*) > 1
) cc JOIN
Customer c
on cc.CustNo = c.CustNo;
答案 2 :(得分:1)
Select C.* from Customer C RIGHT JOIN (
SELECT CustNo
FROM Rental
GROUP BY CustNo
HAVING COUNT(*) > 1) D
ON C.CustNo = D.CustNo
答案 3 :(得分:1)
你也可以试试这个,
以tblDups为( 选择CustNo,从a_rental计算(CustNo)为TotalCount 由CustNo分组 有计数(CustNo)> 1)
从a_rental b中选择b。* 内部联接tblDups a on a.CustNo = b.Custno