2013-10-29 5 views
0

SQL 쿼리와 관련하여 누군가가 나를 도울 수 있기를 바라고 있습니다. 활동, 회사와 companygroup 나는 회사가 그룹 1 에 그러나 나는 또한에있는 회사 이름과 회사 ID를 교체 할 경우에만 활동에서 행을 선택합니다값이 다른 테이블의 다른 값과 일치하는 행 선택

:

그래서 나는 세 개의 테이블을 가지고 최종 테이블.

활동 테이블 :

+----+---------+----------+-----------+ 
| id | subject | date | comapnyid | 
+----+---------+----------+-----------+ 
| 1 | Do this | 10-10-13 |  20985 | 
| 2 | Do that | 11-11-13 |  18657 | 
| 3 | Dont do | 12-12-13 |  22039 | 
+----+---------+----------+-----------+ 

회사 테이블 :

+----+-----------+-------------+ 
| id | companyid | companyname | 
+----+-----------+-------------+ 
| 1 |  20985 | Compone  | 
| 2 |  18657 | Comptwo  | 
| 3 |  22039 | Compthree | 
+----+-----------+-------------+ 

Companygroup 테이블 : 나는 옆에 나에게 회사 이름을 가진 테이블을 제공하기 위해 내 출력을 얻을 수

+----+-----------+---------+ 
| id | companyid | groupid | 
+----+-----------+---------+ 
| 1 |  20985 |  1 | 
| 2 |  20985 |  2 | 
| 3 |  20985 |  3 | 
| 4 |  18657 |  2 | 
| 5 |  18657 |  3 | 
| 6 |  22039 |  1 | 
+----+-----------+---------+ 

모든 활동하지만 회사 ID가 grou와 일치하는 행만 선택하는 방법을 알아낼 수는 없습니다. 내 회사 그룹 테이블의 p 1. 각 회사 ID마다 여러 개의 그룹 항목이 있기 때문에 문제가 발생했다고 생각합니다.이를 처리하는 방법을 잘 모르겠습니다.

+1

편집 질문을 현재 사용하고있는 쿼리를 표시합니다. –

답변

0

이 시도 :

SELECT a.id, a.subject, a.date, c.companyname 
FROM Activity a 
INNER JOIN Company c ON a.companyid = c.companyid 
INNER JOIN Companygroup cg ON c.companyid = cg.companyid 
WHERE cg.groupid = 1 
+0

감사합니다 힙, 이것은 매력을했습니다. – user2930180

+0

나는 몇 분 안에 대답 할 수있을 때 그것을 표시 할 것이다. – user2930180

1
select a.id, a.subject, a.date, b.companyname 
from activity a inner join company b on a.companyid=b.companyid 
    inner join companygroup c on b.companyid=c.companyid 
where c.groupid=1 
관련 문제