# File lib/taggable.rb, line 352
        def count_uniq_tagged_with(options = {}) 
            options = { :separator => ' ' }.merge(options)

            tag_names = ActiveRecord::Acts::Taggable.split_tag_names(options[:any] || options[:all], options[:separator], normalizer)
            raise "No tags were passed to :any or :all options" if tag_names.empty?

            o, o_pk, o_fk, t, tn, t_pk, t_fk, jt = set_locals_for_sql
            sql = "SELECT COUNT(DISTINCT #{o}.#{o_pk}) FROM #{jt}, #{o}, #{t} WHERE #{jt}.#{t_fk} = #{t}.#{t_pk} 
                   AND #{o}.#{o_pk} = #{jt}.#{o_fk}"
          sql << " AND  ("
          sql << tag_names.collect {|tag| sanitize_sql( ["#{t}.#{tn} = ?",tag])}.join(" OR ")
          sql << ")"
          sql << " AND #{sanitize_sql(options[:conditions])}" if options[:conditions]
            count_by_sql(sql)
        end