三倍甚至四倍?加入 - Mysql

时间:2018-03-12 10:07:49

标签: mysql join

现在这个问题让我如此糟糕,我甚至不确定问题的标题。

我分别有4个表(主题t,用户u,条目e,user_fav u_f)

topic_id  topic_name
   1         abba
   2         queen
   3         rolling stones

user_id    user_name 
   1          a             
   2          b      
   3          c 
   4          d


entry_id   entry   topic_fk(FK to t.topic_id)  user_fk(FK to u.user_id)
   1       .....              1                          1
   2       .....              1                          2
   3       .....              2                          2
   4       .....              2                          3
   5       .....              3                          4

user_fav_id  user_name  entry_fk(FK to e.entry_id)
   1            a                   1
   2            a                   2
   3            a                   3
   4            c                   4
   5            d                   5

我的问题是如何使用t.topic_nameu_f.user_name进行联系?

更准确的示例:如果我想使用用户a

我需要u_f.entry_fk(1,2和3)

然后我需要e.topic_fk(1,1和2)

最后,我需要得到t.topic_name(这是abba,abba和女王)(注意我需要2 abba个不同的entry_id s)< / p>

1 个答案:

答案 0 :(得分:-1)

您可以使用sql joins。试试这个:

SELECT t.topic_name, e.entry_id
FROM `user` u 
LEFT JOIN entry e ON u.user_id=e.user_id
INNER JOIN topic t ON e.topic_id=t.topic_id
WHERE u.user_name='a';