2013-04-14 58 views
2

對於下面的SQL查詢:轉換SQL導致成散列

SELECT users.name, posts.title 
FROM users 
INNER JOIN posts 
ON posts.user_id = users.id 

我得到的結果是什麼陣象下面這樣:

name title 
foo post_a 
foo post_b 
foo post_c 
bar post_d 
bar post_e 

但是,我使用用戶名希望將它,即文章的標題例如命名爲'foo'。所以得到的哈希表示應該如下所示:

{ 
    :foo => [ post_a, post_b, post_c ], 
    :bar => { post_d, post_e ] 
} 

我該怎麼做Ruby方式?

回答

1

外觀上group_concat功能

SELECT user.name, GROUP_CONCAT(DISTINCT post.title 
       ORDER BY post.title DESC SEPARATOR ' ') FROM 
    user INNER JOIN post ON post.user_id = user.id 

group by user.name