2012-10-04 6 views
0

SQL 쿼리로 인해 문제가 있습니다. 기본적으로 각각의 [나가는 작업]보다 [시작]을 나타내는 레지스터를 검색하고 싶습니다. 단순히 그러나,하위 쿼리 문제 (SQL)

SELECT [Name], [Start], [Outgoing tasks] 
FROM [Sheet1$] 
WHERE [Main project] = 'A' 
AND [Main link] = '1' 
AND [Outgoing tasks] IS NOT NULL 
AND [Start] > (SELECT [Start] 
     FROM [Sheet1$] 
     WHERE [Main project] = 'A' 
     AND [Main link] = '1' 
     AND [Name] = [Outgoing tasks]) 

그것은 오류를 반환하지 않습니다

Main Project Main Link Name   Start   Outgoing tasks 
A    1   A1   02.01.2012  A2 
A    1   A2   01.01.2012  A3 

...

내가 쓴 쿼리이 하나입니다

표는 다음과 같습니다 예상 한 결과를 가져 오지 않습니다.

혹시 아시겠습니까? 모든 지원은 매우 높이 평가됩니다 !!!

추가 정보 :

이 테이블은 응용 프로그램과 같은 MS 프로젝트에서 비롯됩니다. 따라서 우리는 이정표, 그 데이터, 후임자 및 전임자를 가지고 있습니다. 필자가 실제로 필요로하는 것은 프로젝트 관리 관점의 오류 인 후임자보다 시작 날짜가 늦은 이정표 목록입니다. 그래서 A1.Start> A2.Start라면 결과에 나타나야합니다. 더 자세한 정보가 필요하면 알려주십시오.

+0

시도 ... – willsteel

+0

그래, 난 실제로에서 쿼리 오전 : 그럼 난 중첩 된 (내부) 쿼리의 WHERE 조건에서 외부 테이블을 참조 할 수 있습니다 엑셀 파일. –

+0

하위 쿼리가 독립적으로 작동합니까, 아니면 항상 기본 쿼리와 비교하려고합니까? –

답변

1

내가 그 쓰기하려고했다

select t1.* from [$Sheet1] t1 
     inner join [$Sheet1] t2 
      on t1.[main project] = t2.[main project] 
      and t1.[main link] = t2.[main link] 
      and t1.[outgoing tasks] = t2.name 
      and t1.start>t2.start 
+0

그것은 좋은 것처럼 보이지만 모든 문제를 가져 왔습니다. 사실 프로젝트 A와 기본 링크 1에 대한 문제 만 원합니다. 하위 쿼리를 사용해야합니까, 아니면 매개 변수를 포함 할 수 있습니까? –

+0

't1. [main project] = 'a'... '등을 추가하십시오. – podiluska

+0

고마워요! 앞뒤로 내부 조인? : D 나는 멍청하다 : ( –

0

상관 관계가있는 하위 쿼리를 의미하는 경우 내부 쿼리의 외부 문 테이블을 참조 할 방법이 필요합니다. MySQL의에서이 같은 그것을 할 것 : 내가 foo의 별명과 내부 쿼리의 테이블을 bar의 별칭을 외부 쿼리의 테이블을 제공

SELECT name, start, outgoing_tasks FROM sheet1 foo WHERE main_project = 'A' AND main_link = '1' AND outgoing_tasks IS NOT NULL AND start > (SELECT start FROM sheet1 bar WHERE main_project = 'A' AND main_link = '1' AND bar.name = foo.outgoing_tasks); 

공지 사항.

+0

안녕하세요 Paul, 불행히도 작동하지 않았습니다. 알 수없는 이유로 응용 프로그램이 충돌합니다. (나는 정확한 이름을 사용했다). 어쨌든 고마워. –

+0

내가 준 문법은 MySQL을위한 것이었다. 아마도 환경에 맞게 구문을 변경하고, 괄호 안에 필드 이름을 감쌀 필요가있다. 걱정하지 마라, 당신은 이것에 대한 당신의 대답을 얻었습니다. :) –