2012-01-16 2 views
0

여러 번 묻지 만 문제점을 해결하기 위해 읽은 수정본을 얻을 수없는 것으로 알고 있습니다. SQL Server 오류가 발생합니다. "작업 완료 전 시간 초과 또는 서버가 응답하지 않습니다." this 게시에 따라 도구> 옵션> 디자이너> "연결 문자열 제한 시간 값 무시"에서 120 초로 설정을 변경했지만 30 초 후에도 시간 초과됩니다. 저는 비주얼 스튜디오에서 데이터베이스에 액세스하고 있습니다. 직접 클라이언트 코드로 작업하지 않고 직접 작업하고 있습니다. 여기 BTW 쿼리의 ... 제안을 열려있어 :SQl 서버 "제한 시간이 만료되었습니다. 시간 초과 기간이 초과되었습니다."라는 오류를 해결해야합니다.

SELECT Symbol FROM tblSymbolsMain WHERE ((SELECT dbo.LatestDateInDailyPricingVolBySymbol(tblSymbolsMain.Symbol) AS Expr1) < dbo.RecentTradingDateByNumber(5))

간단히 말해서이, 목표는 매일 가격 데이터 지점이없는 주요 상징 테이블에서 모든 주식 기호를 반환하는 것입니다 최소 5 거래일 동안 가격 테이블에서 사전에

항상 감사합니다 ..

+0

이 쿼리는 Management Studio와 같은 데이터베이스 도구에서 직접 호출 할 때 빠르게 실행됩니까? – DOK

+0

Management Studio에서 쿼리를 실행하면 어떻게됩니까? 쿼리를 완료하는 데 소요되는 시간은 얼마나됩니까? – HardCode

+0

@DOK, HardCode 지금 실행 중입니다. 5 분 후에 실행 중이며 더 나은 로직이 필요한 것 같습니다. – StatsViaCsh

답변

1

올바른 것으로 보인다 나던 코드 ... 당신이 ...WHERE (SELECT...) 이 WHERE 무엇?

당신에게 (...)이 또 다른 ID의 일종을 돌려 선택 나타냅니다 어디

SELECT MyCols FROM MyTable WHERE ID IN (...)

또는

SELECT MyCols FROM MyTable WHERE ID NOT IN (...)

후 없습니다 확신합니다.

그렇지 않으면 물론 시간 초과가 발생합니다. 이 선택은 카운트를 반환 할 수 있으며 WHERE 1은 계속해서 계속 수행 될 수 있습니다 ...

+0

나는 귀하의 게시물을 읽고 광산에서 첫 번째 합격을했지만, WHERE 절은 평가 된 각 행에 대해 부울을 반환해야한다고 동의했습니다. 이 함수 비교는 두 날짜를 비교합니다. 나는 아무 문제도 없을 것이라고 생각한다 ... – StatsViaCsh

+0

StatsViaCsh - 괜찮은 부울이 포함된다면 쿼리가 여전히 틀린 것입니다. '선택을 내릴 때부터 MyTable WHERE myCol <(SELECT ...)', 현재 실종 상태입니다. 당신은 아무것도 비교하지 않습니다. – JonH

+0

Gotcha .. 그래서 비교를 위해 "선택"이 필요합니다. 당신은 옳았습니다, 지금은 달리고 있지만 변화된 형태로, 감사합니다. – StatsViaCsh

관련 문제