해결하려는 약간의 문제가 있습니다. SQL SERVER 2008을 스토리지로 사용하여 VB6의 기능을 작업 중입니다. 여기 내 문제입니다 ....
tblClientInformation에 클라이언트, ClientID, ClientTask, TaskID, FromDate, ToDate에 대한 데이터를 입력합니다.
따라서 다음과 같이 클라이언트 데이터를 입력한다고 가정 해 보겠습니다.
ClientID ClientTask TaskID FromDate ToDate
177 Acct 21 7/28/2016 8/3/2016
179 Acct 21 7/28/2016 8/4/2016
그래서 여기에 내 문제가 있습니다.이 TaskID에 대해 2 개의 자리 만 열려 있습니다. 따라서이 레코드 중 하나를 입력하기 전에 다음과 같이 개수를 확인합니다.
Select ClientID from tblClientInformation where taskID=21 and FromDate>='7/28/2016'
이 경우 2의 개수를 얻습니다. 그러나 누군가가 2016 년 7 월 29 일에 다른 레코드를 추가하려고 할 때 내 문제가 발생하므로 (내 시작 날짜는 항상 오늘 임)이 경우 시스템에서이 작업을 수행합니다. ..
Select clientId from tblClientinformation where taskID=21 and FromDate>='7/29/2016'
하지만 이제는 SQL SERVER의 FROMDATES가 모두 2016 년 7 월 29 일 이전이므로 레코드가없는 것으로 표시됩니다 (테이블 데이터에서 볼 수 있음). 하지만 FROMdate = 7/29/2016에 대해 클라이언트를 입력 할 때 FromDate와 ToDate 사이에 ClientID가 없는지 확인하고 싶습니다. 따라서 기본적으로 2016 년 7 월 29 일에 오늘 클라이언트를 추가하려고하면 2016 년 7 월 29 일이 FromDate와 ToDate 사이에 있기 때문에 2 개의 clientID가 표시되어야합니다.
당신이 입력은 모든 레코드 표시하려면이 쿼리를 사용할 수 있습니다 Date
사이이다 FromDate
와 ToDate
(literaly을) :
DECLARE @DateToCheck date = '8/4/2016'
SELECT FieldsYouNeed
FROM tblClientinformation
WHERE taskID=21 and @DateToCheck between FromDate and ToDate
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다