基于“连接”表将表连接到自身

时间:2013-11-18 14:43:24

标签: mysql

我有两张桌子:

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_titlecategory_2的其他项目相关联的所有项目。那可能吗?感谢您的帮助!

编辑:

Here's an example on the "connections"

所以我要说我需要unique_flat_titlecategory_1的帖子列表。

然后我需要以下列表:

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

1 个答案:

答案 0 :(得分:0)

您可以将“items”表连接到“items_connection”,使用第一个中的ID匹配第二个的CATGEORY_ID。 然后,您可以再次将其连接到“items”表,使用第二个的POST_ID匹配第三个的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