2011-01-21 71 views
1

我试图通过关系表获取与乐队相关的流派。有什么方法利用JOIN通过band_genre表连接流派表?显然这很容易实现使用多个查询,但我想知道这种查询可以有多优雅。通过关系表间接连接2个表

谢谢:)

# (Bands) Table 

band_id = 1 
band_name = The Roots 

# (Genres) Table 

genre_id = 1 
genre_type = Hip-hop 

genre_id = 2 
genre_type = Soul 

# (Band_Genre) Table 

bg_id = 1 
bg_band = 1 
bg_genre = 1 

bg_id = 2 
bg_band = 1 
bg_genre = 2 
+0

什么是你期望的输出,并且你尝试过什么?有50%的接受率,我们不在这里为你做这项工作。 – 2011-01-21 04:35:25

+0

我在试图弄清楚如何制作它以便输出合并多行流派时遇到了麻烦。 – Ryan 2011-01-21 05:06:06

回答

2

试试这个:

SELECT * FROM Bands b 
INNER JOIN Band_Genre bg ON b.band_id = bg.bg_band 
INNER JOIN Genres g ON bg.bg_genre = g.genre_id 
1

我想这是那种你想查询的...

SELECT `band_name`, `genre_type` 
FROM `bands` 
INNER JOIN `band_genre` ON `band_id` = `bg_band` 
INNER JOIN `genres` ON `genre_id` = `bg_genre` 

...但我不知道你问的是什么JSON 。所以也许这不适合你。