2013-09-12 6 views
0

У меня есть таблица с тремя столбцами: tableno, itmname, itmtype. Этот тип может быть только красным или синим. В этой таблице могут быть такие строки, как: table01, item1, red; table01, item2, синий; table02, item1, синий; table02, item4, красный; table03, элемент1, красный; table03, Item5, красный. Теперь мне нужно извлечь tableno, для которого все itmtypes красные. Поэтому из вышеперечисленных строк мне нужно выводить как table03, так как itmtype красный для обоих элементов в нем. Обычно, если я помещаю туда, где условие для itmtype равно красному, оно может получать table01 & table02, а также оба имеют один элемент с красным itmtype. Но мне нужно только table03, так как мой вывод coz все itmtype красный для этой таблицы.SQL Query in Rails

Я долгое время пытаюсь писать разные типы запросов в рельсах, но ни один из них не работает.

Я написал запрос sql для того, что не смог написать подобный в рельсах.

select tableno,itmstatus,count(itmstatus) from lists l1 group by l1.tableno,itmstatus 
having itmstatus = 'red' and count(itmstatus) = (select count(itmstatus) from lists l2 where l1.tableno = l2.tableno group by tableno) 

Поскольку я не могу преобразовать это в рельсах, не могли проверить на рельсы консоли, чтобы проверить, если он будет работать. Я понимаю, что это может звучать основной вопрос, но, будучи новым для рельсов, я использовал только обычный выбор. Пожалуйста, порекомендуйте. Благодарю.

ответ