2014-10-18 130 views
0

我有三個表,活動,用戶,位置。加入4個SQL表,3個源'一個容器'

活動具有列ID(自動增量)和活動名稱(varchar 40)。

用戶擁有ID和名稱

位置具有ID和coordString

第四表的列activityID,用戶ID,userActivityID存在。此表的目的是鏈接用戶選擇與其相關活動的ID。然後userActivityID是一個新的ID,用於鏈接到這個「相關」對象。

我該如何去做這件事?有人會建議一個更明智的數據結構嗎?

謝謝大家一如既往。

+0

你嘗試過什麼嗎?你知道'INNER JOIN'是如何工作的嗎? http://www.mysqltutorial.org/mysql-inner-join.aspx – Horaciux 2014-10-18 12:23:01

+0

我嘗試了INNER JOIN,但是我曾經大肆渲染過這個語法。感謝帖子,但:D – anthonyhumphreys 2014-10-18 12:47:21

回答

0

您需要的INNER JOIN,這應該是這樣的(link_table被使用,因爲你沒有給表的名稱):

SELECT activities.*, users.*, locations.* 
FROM activities, users, locations, link_table 
WHERE activities.id = link_table.activityID 
AND users.id = link_table.userID 
AND locations.id = link_table.locationID 

,或者你也可以寫這樣的:

SELECT activities.*, users.*, locations.* 
FROM link_table 
INNER JOIN users ON users.id = link_table.userID 
INNER JOIN locations ON locations.id = link_table.locationID 
INNER JOIN activities ON activities.id = link_table.activityID 
+0

謝謝!對不起,我忘了第四張桌子的名字xD 你已經保存了我的頭髮。 *手中喝啤酒* – anthonyhumphreys 2014-10-18 12:42:43

+1

接受的答案已經足夠了,特別是因爲我不喝酒:) – daxur 2014-10-18 20:13:22

+0

對不起,在這種情況下,您可以選擇一杯咖啡或飲料!他們應該是一個在計算器上的捐贈按鈕! – anthonyhumphreys 2014-10-19 13:35:00