SQL 쿼리를 사용하여 작업하지 않아도되고 간단한 쿼리처럼 보이는 것이 제 정신을 차게합니다. 다양한 기준에 따라 반복을 선택하려고하는 트랜잭션 테이블이 있습니다. 이 표에서SQL Select : 두 개 이상의 열이 동일한 행을 가져옵니다.
[Transaction]
* ID int
Transacted datetime
Name nvarchar(50)
Description nvarchar(4000)
size bigint
, 나는 이름/크기의 중복을 찾아 날짜와 설명이 다른 경우에도 이름, 같은 크기의 트랜잭션을 가진 모든 기록을 다시보고해야합니다 다음과 같이 관련 테이블 구조입니다. 나머지 데이터 얻을 수
SELECT Name, COUNT(Name) AS Count
FROM Transaction
GROUP BY Name
을 그리고 내가 할 내부가 조인 수 : 나는 다음과 단지 이름이 수를 얻을 수
SELECT data.ID, data.Transacted, data.Name, data.Description, data.Size, counts.Count
FROM (SELECT Name, COUNT(Name) AS Count
FROM Transaction
GROUP BY Name) AS counts
INNER JOIN Transaction AS data ON counts.Name = data.Name
WHERE (counts.Count > 1)
ORDER BY data.Name, data.Transacted
을하지만 분명히 이것은 단지주고있다 이름이 반복되는 곳에서의 거래. 이름과 크기가 반복되는 곳이 아닙니다.
필자는이 부분을 끝내기위한 도움을 찾고 있는데, 라인이 같은 이름과 크기의 반복을 나타내는 모든 데이터를보고합니다. 두 열의 데이터를 하나의 결과로 쉽게 연결하여 비교할 수는 있지만 최적의 방법이라고 확신하지 못합니다. 사전에
감사합니다.
SELECT Name, Size, COUNT(Name) AS Count
FROM Transaction
GROUP BY Name, Size Having COUNT(Name) > 1
OVER가 지원되지 않는다는 오류가 발생하더라도이 기능은 훌륭합니다. 이것은 SQL 디자이너 문제인 것처럼 보입니다. 나는 올바른 결과를 얻는다. 도와 줘서 고마워! – tobint
@tobint - 예, 비주얼 디자이너는 새로운 구문 중 일부를 좋아하지 않습니다. –