通过将多个表连接在一起来创建大表

时间:2018-04-25 21:31:59

标签: sql

对于下面的一组表,我想创建一个大表来执行使用内连接的查询 - 我将如何解决这个问题?我想加入表tweet_hashtag, tweet, hashtag_fcgame以形成一个我可以查询的更大的表。

tweet_hashtag是一个查找表,用于使用tweet_id和hashtag_fc关联tweethashtag_fc表。

hashtag_fc表中fc_idgame表的外键,但在fc1fc2被链接的意义上它被键入两次到fc_id表中的hashtag_fc

Game table
+----+-----+-----+-----------------------+-----------------------+-----------------------+-----------------------+
| id | fc1 | fc2 | officialstart         | officialend           | halftimestart         | halftimeend           |
+----+-----+-----+-----------------------+-----------------------+-----------------------+-----------------------+
| 25 | 4   | 6   | 2017-11-29 19:45:00.0 | 2017-11-29 21:30:00.0 | 2017-11-29 20:30:00.0 | 2017-11-29 20:45:00.0 |
+----+-----+-----+-----------------------+-----------------------+-----------------------+-----------------------+

hashtag_fc table

+------------+-------+
| hashtag_id | fc_id |
+------------+-------+
| 7          | 7     |
+------------+-------+

tweet table

+--------------------+-----------------------+-----------+
| tweet_id           | created               | user_id   |
+--------------------+-----------------------+-----------+
| 934425435399704584 | 2017-11-25 14:15:59.0 | 364263622 |
+--------------------+-----------------------+-----------+

tweet hashtag table

+--------------------+------------+
| tweet_id           | hashtag_id |
+--------------------+------------+
| 935948744515874816 | 12         |
+--------------------+------------+

1 个答案:

答案 0 :(得分:0)

我认为这就是你要找的东西。那就是我理解你的例子。

SELECT * FROM Game g
JOIN hashtag_fc ht ON g.fc1 = ht.fc_id
    OR g.fc2 = ht.fc_id
JOIN tweet_hashtag tht ON ht.hashtag_id = tht.hashtag_id
JOIN tweet t ON tht.tweet_id = t.tweet_id
相关问题