2014-02-22 2 views
0

이 질문을 다시 게시합니다. SQL을 정리했지만 여전히 중복 결과가 있습니다. 각 위치의 각 항목 번호에 대한 최신 데이터를 찾아야합니다. 여기에 내가 가진 무엇 : "가장 최근의 데이터를"가정MS 쿼리에서 최신 데이터 만 반환하는 데 더 많은 어려움이 있습니다.

SELECT invbalances.itemnum, 
invbalances.curbal, 
inventory.maxlevel, 
inventory.minlevel2, 
inventory.sstock, 
inventory.deliverytime, 
invbalances.location, 
inventory.category 
FROM MX7PROD.dbo.invbalances invbalances, 
MX7PROD.dbo.inventory inventory 
WHERE invbalances.itemnum = inventory.itemnum 
AND invbalances.location = inventory.location 
AND ((inventory.category<>'cstk' 
And inventory.category<>'nore' 
And inventory.category<>'sp') 
AND (invbalances.itemnum Not Like '%n%')) 
ORDER BY invbalances.itemnum 
+0

어떤 논리가 "최신"데이터 행을 구성하는지 설명 할 때까지 아무도이 질문에 대답 할 수 없습니다. 즉, 각 위치에서 각 항목 번호에 대해 X의 가장 높은 값입니다. 불행히도 X만이 무엇인지 압니다. –

답변

0

이 작동해야 각 위치에있는 각 itemNum이 가장 높은 curbal 값에 의해 결정됩니다 : (당신이이 질문 마지막 시간을 그 결론에 도달 듯 질문) 사용 및 모든 라인에, 그래서 내가 그들을 그룹을 해제하고 있기 때문에 where 절 사용하여 괄호에 기준하여 그룹화 결과에 영향을주지 않습니다

SELECT invbalances.itemnum, 
     invbalances.curbal, 
     inventory.maxlevel, 
     a_inventory52.minlevel, 
     inventory.sstock, 
     inventory.deliverytime, 
     inventory.category, 
     inventory.lastissuedate 
    FROM MX7PROD.dbo.a_inventory52 a_inventory52, 
     MX7PROD.dbo.invbalances invbalances, 
     MX7PROD.dbo.inventory  inventory 
WHERE invbalances.itemnum = inventory.itemnum 
    AND a_inventory52.itemnum = invbalances.itemnum 
    AND inventory.category <> 'cstk' 
    And inventory.category <> 'nore' 
    And inventory.category <> 'sp' 
    and invbalances.itemnum not like '%n%' 
    and invbalances.curbal = 
     (SELECT MAX(x.curbal) 
      FROM MX7PROD.dbo.inventory x 
     where x.itemnum = invbalances.itemnum 
      and x.location = invbalances.location) 

참고.

+0

불행히도 최대 커브가 항상 실제 커브는 아닙니다. 괄호를 사용하여 주셔서 감사합니다 – user3341199

+0

그럼 가장 최근의 데이터는 무엇입니까? 당신은 아직 어떤 분야가 당신의 목적을 위해 "가장 최근의"것이 무엇인지를 말하지 않았다. –

+0

가장 최근의 데이터를 결정할 필드를 찾을 수없는 것 같습니다. 내가 작업했던 lastissuedate 필드는 보편적으로 모든 항목에 적용되므로 좋지 않습니다. 고유 한 식별자를 찾기 위해 다른 테이블 (데이터베이스 생성과 관련이 없음)을 검색해야 할 것입니다. 도와 주셔서 정말 감사합니다. – user3341199