diff --git a/app/models/query.rb b/app/models/query.rb index 640db190d..7a70af620 100644 --- a/app/models/query.rb +++ b/app/models/query.rb @@ -976,7 +976,7 @@ class Query < ActiveRecord::Base "#{queried_table_name}.id #{not_in} IN (" + "SELECT customized_id FROM #{CustomValue.table_name}" + " WHERE customized_type='#{queried_class}' AND custom_field_id=#{custom_field_id}" + - " AND value <> '' AND CAST(value AS integer) IN (" + + " AND CAST(CASE value WHEN '' THEN '0' ELSE value END AS decimal(30,0)) IN (" + " SELECT customized_id FROM #{CustomValue.table_name}" + " WHERE customized_type='#{target_class}' AND custom_field_id=#{chained_custom_field_id}" + " AND #{sql_for_field(field, operator, value, CustomValue.table_name, 'value')}))" @@ -998,7 +998,7 @@ class Query < ActiveRecord::Base "#{queried_table_name}.id #{not_in} IN (" + "SELECT customized_id FROM #{CustomValue.table_name}" + " WHERE customized_type='#{queried_class}' AND custom_field_id=#{custom_field_id}" + - " AND value <> '' AND CAST(value AS integer) IN (" + + " AND CAST(CASE value WHEN '' THEN '0' ELSE value END AS decimal(30,0)) IN (" + " SELECT id FROM #{target_table_name} WHERE #{sql_for_field(field, operator, value, filter[:field].format.target_class.table_name, attribute)}))" end