对于下面的一组表,我想创建一个大表来执行使用内连接的查询 - 我将如何解决这个问题?我想加入表tweet_hashtag, tweet, hashtag_fc
和game
以形成一个我可以查询的更大的表。
tweet_hashtag
是一个查找表,用于使用tweet_id和hashtag_fc关联tweet
和hashtag_fc
表。
在hashtag_fc
表中fc_id
是game
表的外键,但在fc1
和fc2
被链接的意义上它被键入两次到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 |
+--------------------+------------+
答案 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