2013-10-29 85 views
0

我對SQL查詢有疑問我試圖讓我希望有人能幫助我。選擇其中某個值與另一個表中的另一個值匹配的行

所以我有三個表:活動,公司和companygroup

我想只能選擇從活動行時,該公司是在組1 但我也想在公司名稱,以取代companyid決賽桌。

活動表:

+----+---------+----------+-----------+ 
| 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 | 
+----+-----------+---------+ 

我可以讓我的輸出,給我與該公司名稱的旁邊的桌子所有的活動,但我無法弄清楚如何只選擇companyid與grou匹配的行我的公司組表中的p 1。我覺得我遇到了麻煩,因爲每個公司都有多個組條目,我不知道如何滿足這個要求。

+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 
相關問題