2015-01-22 4 views
0

안녕 난은 SQL 쿼리의 예에서 문제SQL 하나 개의 테이블

직원

empid empname 
1  gan 
2  sam 

난 직원 테이블 테이블을 조인 원하고 원하는

id  desig   empid 
1  sr officerr   1 
2  jr officer   1 
3  manager    2 

지정을 반복 한 기록 널에서 반복 된 결과 NULL을 원하는

result like 

empid  name  desig   id 
1   gan  sr officerr  1 
1   NULL  jr officer  2 
2   sam  manager   3 

나는 질의에 대한 작업을하고 있지만 결과를 얻지 못했습니다.

SELECT DISTINCT designatin.empid, employee.empname,designatin.desig 
FROM designatin INNER JOIN employee e ON employee.empid = designatin.empid 
GROUP BY employee.empid, employee.empname, designatin.desig 

누구나 해결책을 갖고 있습니까? 내부는 왼쪽으로 가입

+2

당신이 전에이 한 시간 게시되지 않은 참조하면

SELECT e.empid, e.empname,d.desig ,d.id FROM employee e INNER JOIN Designation d ON e.empid = d.empid 

도움이 될 것입니다 ? (아니면 같은 학급에있는 다른 사람 이었습니까?) – jarlh

+0

@jarlh 그 때 해결책이 있었습니까? – Ganeshp

+0

@Ganeshp : - 그냥 이해가 안됩니다. 테이블에 이름이있을 때 예상 결과에서 이름 열에 null이있는 이유는 무엇입니까? – HaveNoDisplayName

답변

0

변경 가입 :

SELECT DISTINCT designatin.empid, employee.empname,designatin.desig 
FROM designatin LEFT JOIN employee e ON employee.empid = designatin.empid 
GROUP BY employee.empid, employee.empname, designatin.desig 
+0

에 대한 결과 가져 오기를 시도했습니다.하지만 직원 테이블에서 반복 된 레코드를 받았습니다. – Ganeshp

+1

지정 테이블의 직원에 대해 둘 이상의 레코드가 있습니까? 그렇다면 복제본을 받게됩니다. SELECT count (*), empid FROM 지정 GROUP BY empid (*)> 1을 시도하십시오. 그리고 직원이 하나의 지정 만 가질 수 있다면, 우리는 emp 테이블에 ID를 지정해서는 안되며 반대 방향으로 지정하지 않아야합니까? – Jayadevan

관련 문제