"그룹"당 단 하나의 행을 검색하기 위해 Access 2013에서 SQL을 사용하여 GROUP BY 쿼리를 만드는 방법에 대해 머리를 감싸지 못했습니다. 모두 열을 유지하면서 다중 열 데이터의 열 중 하나에서 최대 값을 기반으로합니다.여러 열 중 하나를 유지하면서 하나의 필드로 그룹화 된 여러 행 중 하나를 검색하려면
최대 [SupervisorID]의 [ClientID] 행 1 개만 반환하고 싶습니다. 나는 [DispositionID]가 반환되는 것을 신경 쓰지 않습니다. 여기
내가 (내가 유지해야한다는이보다 더 많은 열이있는) 데이터를 가지고있는의 (일부)입니다 :ClientID LastName FirstName Sex DispositionID SupervisorID
6263 Junk Danny M 1222 322
6263 Junk Danny M 1223 Null
6263 Junk Danny M 1220 322
6260 Fake Angie F 1208 206
6244 Junker Adam M 1153 322
6244 Junker Adam M 1148 Null
6257 Junkly Summer F 1218 Null
6257 Junkly Summer F 1179 Null
[된 ClientID], [성], [FIRSTNAME] 및 [ 성별]은 표 A에서 가져옵니다.
[DispositionID]는 [ClientID]와 연결된 표 B에서 가져옵니다.
[SupervisorID]는 표 C ([DispositionID]에서 링크 됨)에서 가져옵니다.
대상 쿼리는 다음을 반환 : I 대상 쿼리를 일단
ClientID LastName FirstName Sex DispositionID SupervisorID
6263 Junk Danny M 1220 322
6260 Fake Angie F 1208 206
6244 Junker Adam M 1153 322
6257 Junkly Summer F 1179 Null
, 나는 또 다른 (유사한) 쿼리와 해당 쿼리의 UNION을해야 할 것이다, 내가 그하지 않습니다 영향을 상상하지만, 이 첫 번째 쿼리를 수행하는 방법.
두 쿼리가 결합 된 후에는 특정 [SupervisorID] (예 : 322) 또는 Null [SupervisorID]가있는 행만 표시되도록 해당 쿼리를 필터링해야합니다.
또한 SELECT DISTINCT를 시도했지만 여전히 하나의 ClientID 대신 여러 개의 [ClientID]가 반환되었습니다.
@Brian. ** 정말 가까이에 있어요. 게시 된 데이터에 대한 출력이 원하는 출력과 일치합니다. 그러나 ClientID에 여러 DispositionID가 있고 동일한 SupervisorID가 각 DispositionID에 할당 될 수 있도록 지정해야합니다. 따라서 동일한 ClientID에 대해 SupervisorID가 두 번 이상 표시되면 (예 : ClientID에 각 DispositionID에 대해 동일한 SupervisorID가있는 2 개의 DispositionID가 있음) 해당 ClientID에 대해 여러 행을 얻습니다. 즉, 새 데이터로 ClientID 6263을 두 번 나열합니다. 한 번만 ClientID가 필요합니다. DispositionID가 표시되거나 손실 된 것에 대해서는 상관하지 않습니다. 원본 데이터를 수정하겠습니다. – DRC
@ user3862163 방금 쿼리의 첫 번째 부분에 max (감독자)에 대한 첫 번째 처리 만 표시되도록 sql을 업데이트했습니다. 그렇게하면 최대 (감독자)가 2 이상의 성향 ID를 가지면 첫 번째 성향 만 나열됩니다. 그게 지금 작동합니까? –
예! 그것은 아름답게 작동합니다. SQL이 어떻게 작동하는지 알아보기 위해 SQL을 연구해야합니다. 많은 감사합니다. – DRC