이전 질문에서 여러분은 다른 행의 데이터를 가져 오는 것을 도왔습니다. 내가 사용하고있는 진술은 MS SQL Server Managment Studio에서 완벽하게 작동합니다. 오류없이 문을 실행할 수 있으며 필요한 데이터를 반환합니다. 그러나 프론트 엔드 프로그램에서이 데이터를 실행해야합니다. 이 프로그램에서 내 문장을 실행하려고하면 프로그램이 멈 춥니 다. 나는이 진술의 "With As"부분이 문제를 일으킨다는 느낌을 가지고있다. 이 임시 테이블을 하위 쿼리에 추가하여이 문을 다시 작성해야합니까?"With As"대체 방법으로
WITH Temp1 AS (SELECT
SkillTargetID = Agent_Logout.SkillTargetID,
LogoutDateTime = Agent_Logout.LogoutDateTime,
LogonDate = DateAdd(s,-1 * Agent_Logout.LoginDuration,Agent_Logout.LogoutDateTime),
ROW_NUMBER() OVER(PARTITION BY Agent_Logout.SkillTargetID ORDER BY Agent_Logout.LogoutDateTime ASC) RowVersion,
LoginDuration = Agent_Logout.LoginDuration
FROM Agent_Logout)
SELECT
AgentID = Base.SkillTargetID,
LogonDate = Base.LogonDate,
BaseLogout = Base.LogoutDateTime,
BaseDuration = Base.LoginDuration,
NextLogon = Temp1.LogonDate,
LogoutDuration = DateDiff(s,Base.LogoutDateTime,Temp1.LogonDate)
FROM Temp1 Base
LEFT JOIN Temp1 ON Base.SkillTargetID = Temp1.SkillTargetID
AND Base.RowVersion = Temp1.RowVersion-1
프로그램에서 SQL을 어떻게 실행합니까? –
MS SQL Studio 2005에서 정확히 실행되는 것과 동일한 코드를 Cisco 프런트 엔드 프로그램에 복사하여 붙여 넣습니다. 잘못된 쿼리 오류 코드가 나타납니다. 키워드 WHERE 근처에서 오류가 발생했습니다. 이것은 WHERE 절이 없기 때문에 이상합니다. 공백과 유효한 where 절을 문에 추가하려고 시도했지만 프로그램이 중단됩니다. 오류 코드는 제공되지 않습니다. – Gilbert
프론트 엔드 프로그램에서 문제를 수정하는 데 문제가있는 것 같습니다. 모든 쿼리를 뷰에 집어 넣고 프론트 엔드 프로그램에서 쿼리를 선택하면 어떨까요? –