2013-11-18 2 views
0

У меня есть две таблицы:Присоединение таблицу к себе на основе "соединение" таблицы

items стол:

id  title  unique_flat_title 
--------------------------------------------- 
1  post 1  post_1 
2  post 2  post_2 
3  category 1 category_1 
4  post 3  post_3 
5  post 4  post_4 
6  category 2 category_2 
7  post 5  post_5 

item_connection стол:

post_id  category_id 
---------------------------------- 
1   3 
1   6 
5   6 
7   3 
4   3 
4   6 

Я хотел бы напечатать все элементы, которые связаны с другим элементом, где unique_flat_title - category_2. Это возможно? Спасибо за помощь в продвижении!

EDIT:

Here's an example on the "connections"

Так скажем, мне нужен список постов, где unique_flat_title является category_1.

Тогда я должен был бы следующий список в результате:

category_flat_title  post_id  post_title 
------------------------------------------------------ 
category_1    1   post 1 
category_1    7   post 5 
category_1    4   post 3 
+0

Что вы подразумеваете под «подключением к другому изделию»? Вы хотите сделать что-то большее, чем распечатать элементы в категории 2? –

+1

Как подключить товары? 'items.id' равно' category_id'? –

+0

[Вот пример на «соединениях»] (http://i.imgur.com/1lWkLHY.png) Итак, скажем, мне нужен список сообщений, где 'unique_flat_title' является' category_1'. Тогда я должен был бы следующий список в результате: 'category_flat_title \t \t post_id \t \t post_title ----------------------- ----------------------- \t category_1 \t \t \t \t \t сообщение 1 category_1 \t \t \t \t \t сообщение 5 category_1 \t \t \t \t \t пост 3' – spiridon

ответ

0

Вы можете присоединиться к «пунктов» таблицы в «items_connection», используя идентификатор из первого, чтобы соответствовать CATGEORY_ID второй. Затем вы можете присоединиться к этому в таблицу «items» снова, используя POST_ID второй, чтобы соответствовать идентификатору третьего. это будет выглядеть так:

SELECT A.unique_flat_title As category_flat_title 
    , C.id As post_id , C.unique_flat_title As post_title 
from items A 
join item_connection B on B.category_id = A.id 
join items C on C.id=B.post_id 
+0

Пришлось немного подправить, но это помогло, спасибо! – spiridon

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