나는 SQL을 처음 사용하므로 멍청한 질문에 사과드립니다. 다른 기사를 검색했지만 내 문제에 맞는 것을 찾을 수없는 것 같습니다 ...
기본적으로 저는 2 개의 테이블 (DOCMASTER, DOSHISTORY)을 가지고 있습니다. DMS에 대한 쿼리라고 짐작 하셨을 것입니다. 기본적으로 사용자는 다음 정보가 포함 된 특정 문서 번호 (템플릿 문서) 집합에 대한 보고서를 원합니다. -만든 날짜-마지막 액세스-마지막 수정-문서 번호 (고유 ID)
아래 2 개의 쿼리로 위의 정보를 얻을 수 있습니다.
CREATED DATE + LAST MODIFIED DATE (DOCMASTER 테이블에서)
SELECT [DOCNAME],[DOCNUM],[EDITWHEN] as 'last edited date',[ENTRYWHEN] as 'created date'
FROM [Knowledge_Prod].[MHGROUP].[DOCMASTER]
where DOCNUM in ('10098776', '1355264')
마지막 액세스 날짜 (DOCHISTORY 테이블에서)
SELECT DOCNUM, MAX (ACTIVITY_DATETIME) as 'last accessed date'
FROM [Knowledge_Prod].[MHGROUP].[DOCHISTORY]
WHERE ACTIVITY in ('View','Create','Copy', 'Checkin', 'Checkout','Print','Mail')
and DOCNUM in ('10098776', '1355264')
Group by DOCNUM
DOCNUM을 기반으로 이러한 쿼리를 결합하여 결과를 함께 컴파일하는 가장 좋은 방법은 무엇입니까?
DOCNUM-마지막으로 액세스 한 날짜-마지막으로 편집 한 날짜-만든 날짜
지난 몇 시간 동안 제 영혼을 짓밟고있는 여러분의 도움에 미리 감사드립니다. 또한 모든 쿼리에 SMSS를 사용하고 있습니다.
테스트 할 테스트 데이터가 없기 때문에 아래는 가장 안전한 방법입니다.
;with cte
as
(
SELECT [DOCNAME],[DOCNUM],[EDITWHEN] as 'last edited date',[ENTRYWHEN] as 'created date'
FROM [Knowledge_Prod].[MHGROUP].[DOCMASTER]
where DOCNUM in ('10098776', '1355264')
)
,cte1 as
(
SELECT DOCNUM, MAX (ACTIVITY_DATETIME) as 'last accessed date'
FROM [Knowledge_Prod].[MHGROUP].[DOCHISTORY]
WHERE ACTIVITY in ('View','Create','Copy', 'Checkin', 'Checkout','Print','Mail') and DOCNUM in ('10098776', '1355264')
Group by DOCNUM)
select * from cte c join cte1 c1
on c1.docnum=c.docnum
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다