Tengo una consulta que busca dos campos separados en la misma tabla ... buscando ubicaciones que probablemente sean una ciudad específica, pero también podría ser un país ... es decir, la necesidad de dos campos.carriles union hack, cómo juntar dos consultas diferentes
tabla siguiente aspecto:
Country City
Germany Aachen
USA Amarillo
USA Austin
Resultado:
Keyword Sideinfo
Aachen Germany
USA Country
Austin USA
Germany Country
Básicamente estoy preguntando si hay una manera más concisa para hacer esto porque tenía que usar dos consultas individuales y luego añadirlos juntos, ordenarlos, etc. (que funciona bien):
def self.ajax(search)
countries = Location.find(:all, :select=> 'country AS keyword, "Country" AS sideinfo', :joins => :hotels, :conditions => [ 'hotels.email IS NOT NULL AND country LIKE ?', "#{search}%" ], :group => :country)
cities = Location.find(:all, :select=> 'city AS keyword, country AS sideinfo', :joins => :hotels, :conditions => [ 'hotels.email IS NOT NULL AND city LIKE ?', "#{search}%" ], :group => :city)
out = cities + countries
out = out.sort { |a,b| a.keyword <=> b.keyword }
out.first(8)
end
No he podido encontrar ninguna información sobre cómo Uniones que utilizan ActiveRecord ...
Esta pregunta dis Cuestiona formas de usar o falsificar sindicatos en ActiveRecord: http://stackoverflow.com/questions/6686920/activerecord-query-union –