2016-01-10 2 views
0

Я получаю доступ к базе данных SQLite с использованием Ruby sqlite3 gem.SQLite несколько строк для одной строки

У меня есть таблица, такие как:

id | ip  | nick 
1 | 1.2.3.4 | abc 
2 | 1.2.3.4 | def 
3 | 1.2.3.4 | ghi 
4 | 1.2.3.4 | jkl 
5 | 1.2.3.4 | mno 

и запрос, такие как:

SELECT nick FROM table WHERE ip = '1.2.3.4' 

, но я хочу один ряд вернулся, со всеми никами для этого IP-адреса в алфавитном порядке:

nicks = ["abc", "def", "ghi", "jkl", "mto"] 

Каков наилучший способ его достижения?

ответ

1

Предполагая, что имя таблицы test, вы можете сделать что-либо:

nicks = db.execute("select nick from test").flatten 

или

nicks = db.execute("select nick from test").each_with_object([]) do |row, obj| 
    obj << row[0] 
end 
Смежные вопросы