2010-01-22 134 views
0

我被困在mysql中的一些表。不知道如何加入三張表中的信息。非常感謝有人能幫助我。謝謝。mysql比較表


這是我:

Table1.Users

+----+--------+--------------+ 
| id | name | lastname  | 
+----+--------+--------------+ 
| 1 | Peter | Elk   | 
| 2 | Amy | Lee   | 
| 3 | James | Ride   | 
| 4 | Andrea | Thompson  | 
+----+--------+--------------+ 

Table2.Projects

+-----+-------------+ 
| id | name  | 
+-----+-------------+ 
| 13 | Lmental  | 
| 26 | Comunica | 
| 28 | Ecobalear | 
| 49 | Puigpunyent | 
+-----+-------------+ 

Table3.Users_Projects

+----------+-------------+ 
| id_users | id_projects | 
+----------+-------------+ 
| 1  | 13   | 
| 1  | 28   | 
| 2  | 13   | 
| 2  | 28   | 
| 2  | 49   | 
| 3  | 28   | 
| 3  | 49   | 
| 4  | 49   | 
+----------+-------------+ 

我想打印是這樣的:

+--------+--------------+----------------------------------+ 
| name | lastname  | project       | 
+--------+--------------+----------------------------------+ 
| Peter | Elk   | Lmental,Ecobalear    | 
| Amy | Lee   | Lmental,Ecobalear, Puigpunyent | 
| James | Ride   | Ecobalear,Puigounyent   | 
| Andrea | Thompson  | Puigpunyent      | 
+--------+--------------+----------------------------------+ 

回答

2

喜歡的東西...

SELECT Users.name, Users.lastname, Projects.name 
FROM (Users, Projects, Users_Projects) 
WHERE Users_Projects.id_users=Users.id AND Users_Projects.id_projects=Projects.id 
ORDER BY ... 

...將輸出每行一個用戶/項目,你會再有用你選擇的語言操縱。

試圖在SQL中執行級聯等操作很容易導致一個非常可怕的查詢。

+0

+1對於回答簡單的問題 – 2010-01-22 16:46:06

+0

謝謝。我知道如何做這個查詢和其餘與PHP。只是想知道我是否可以直接使用mysql。 對於提出太簡單的問題感到抱歉,不是我的目的。 – Thomas 2010-01-25 01:12:42

+0

你可以使用group_concat來獲取它們 – Chella 2012-12-17 05:20:55