종료되었습니다. 이 질문은
주제에서 벗어남 입니다. 현재 답변을 받고 있지 않습니다.
답변
SELECT a.surveyid,* FROM [360HRSurvey] inner join ( SELECT a.EmpCode,a.surveyid FROM surveyusers a where a.surveyid = 80 and a.EmpCode NOT IN (SELECT p.EmpID FROM empsurveyselection p WHERE p.surveyid =80)) a on a.EmpCode=sempid where empid = ( SELECT empid from [360HRSurveyEmployee] where surveyid = 80)
댓글
답변
iv가 아닌 surveyid
를 사용해야합니다. id = “c87aefe64d”>
. surveyusers as a
는 sub-query
에서 선언하므로 기본 쿼리에서 a.surveyid
에 액세스 할 수 없습니다.
댓글
오류의 원인은 Jaimin Soni의 답변 .
결과에 surveyid
를 포함하고 싶기 때문에 [360HRSurvey]
테이블에서이 특정 쿼리에 SELECT 80 AS surveyid, * ...
를 사용할 수 있습니다. surveyid
가 하지만 더 복잡한 쿼리에서는이 속성이있는 테이블에 조인 할 수 있습니다.이 테이블이 surveyusers
이고 FOREIGN KEY
[360HRSurvey] (sempid)
에서 REFERENCES surveyusers(EmpCode)
쿼리를 다시 작성할 수 있습니다.
SELECT a.surveyid, hrs.* FROM [360HRSurvey] AS hrs JOIN surveyusers AS a ON a.EmpCode = hrs.sempid WHERE a.surveyid = 80 -- this condition can be altered or removed AND a.EmpCode NOT IN ( SELECT p.EmpID FROM empsurveyselection p WHERE p.surveyid = a.surveyid ) AND a.empid = ( -- unclear if it"s a.empid or hrs.empid SELECT hrsemp.empid FROM [360HRSurveyEmployee] AS hrsemp WHERE hrsemp.surveyid = a.surveyid ) ;
SELECT su.surveyid,b.* FROM surveyusers SU RIGHT JOIN (SELECT * FROM [360HRSurvey] where sempid NOT IN ( SELECT a.EmpCode FROM surveyusers a where a.EmpCode IN (SELECT p.EmpID FROM empsurveyselection p where deptid = 9 ) and empid IN ( SELECT empid from [360HRSurveyEmployee] ))) B ON su.EmpCode = b.sempid Order by surveyid desc
myslelf 수정
댓글