2013-06-16 4 views
2

Просто ищите некоторую помощь с SQL-запросом. У меня был небольшой поиск, но в основном он рассказывал о более простых объединениях с участием двух таблиц.Синтаксис SQL Query - таблица взаимосвязей

Структура таблицы:

table.Itineraries

ItineraryID, Itinerary, etc 

table.Activities:

ActivityID, Activity, etc 

и таблицу сшивание

table.ItineraryActivities:

ItineraryID, ActivityID 

И у меня есть страница здесь, список Маршруты:

http://www.goodsafariguide.net/itineraries_beta/index101.php

То, что я хотел бы включить некоторые из мероприятий на.

Если бы это было только первые две таблицы, и tableActivities имел ItineraryID колонку, я предполагаю, что это будет:

SELECT * 
FROM Itineraries 
INNER JOIN Activities ON Itineraries.ItineraryID = Activities.ItineraryID 

Но я не уверен, что синтаксис будет достичь того же с таблицу взаимосвязи.

Надеюсь, что имеет смысл.

Спасибо.

EDIT:

теперь у меня есть это отображая деятельности (в данном случае страны):

http://www.goodsafariguide.net/itineraries_beta/index501.php

Итак, где есть два экземпляра «Test маршрута», один для Танзании и один для Кении я просто хочу один экземпляр, в котором перечислены Кения и Танзания.

ответ

2

Вам просто нужен второй INNER JOIN.

Попробуйте это:

SELECT * 
FROM Itineraries i 
INNER JOIN ItineraryActivities ia ON ia.ItineraryID = i.ItineraryID 
INNER JOIN Activities a ON a.ActivityID = ia.ActivityID 
+0

Спасибо. У меня есть тот, который показывает первый результат, например: http://www.goodsafariguide.net/itineraries_beta/index301.php. Как я могу заставить его прокручивать те результаты, вложенные в основную таблицу? – johngordon

+0

@johngordon - Хорошее место для начала - посмотреть, как работает '' mysqli_query() '] (http://www.php.net/manual/en/mysqli.query.php). На странице документации есть хороший [пример] (http://www.php.net/manual/en/mysqli.query.php#80821) цикла по результатам запроса. – Aiias

Смежные вопросы