Если строки продавца / клиента уникальны, то:
select salesman_id, count(*) as counter
from Customer
group by salesman_id
having count(*) >= 2;
Если есть дубликаты, то:
select salesman_id, count(*) as counter
from Customer
group by salesman_id
having count(distinct customer_id) >= 2;
Однако, если вы хотите получить исходные данные, я бы используйте exists
:
select c.*
from customer c
where exists (select 1
from customer c2
where c2.salesman_id = c.salesman_id and
c2.customer_id <> c.customer_id
);
Ваш запрос неверен, поскольку в подзапросе отсутствует предложение FROM
. Итак, у него есть синтаксическая ошибка.
customer_id
в подзапросе должна быть уточнена (т.е. i.customer_id
). Обнаружение проблем, вызванных неквалифицированными столбцами - это коррелированные подзапросы, которые могут быть действительно болезненными, поэтому просто уточните все столбцы.
Вторая проблема заключается в том, что COUNT()
излишне с точки зрения производительности. В основном все соответствующие строки должны быть обработаны, чтобы вычислить count()
для сравнения. EXISTS
гораздо лучший выбор для этой цели.
Вы не делаете ничего плохого, это - то, как продукт работает. Для добавления к тому, что было сказано ранее не легко настроить.
Надлежащий способ приблизиться к этому состоит в том, чтобы создать обработчик пользовательских протоколов для HTML. Это - пользовательский COM-объект, который реализует несколько интерфейсов. SDK MOSS 2007 имеет ссылку обработчика протокола.
Когда мы сделали это, мы создали ini файл, таким образом, мы могли определить тип, мы хотели поля META, проверенные как (Строка, Интервал, DateTime). Затем, когда Вы добавили пользовательские свойства, все было правильно проанализировано. Затем можно использовать пользовательские свойства как Вы, обычно был бы.
Поисковый робот, встроенный в поиск, является элементарным, и Вы не сможете легко расширить его для включения метатегов. Предположительно можно записать собственного обработчика протокола и проверить ASP-страницы в их собственном источнике содержания; предположительно это работает. Я не думаю, что любой на самом деле пишет их собственных обработчиков протокола все же.
Вы собираетесь быть разочарованными тем, что предлагает поисковый робот SharePoint, который является, почему нет никаких ответов на официальном форуме ни одного - потому что реальный ответ, "Не может сделать этого легко, извините".
Вы можете изрубить что-то путем записи пользовательского веб-сервиса (ASMX или основанный на WCF), который сам проверяет метатеги ASP-страниц. Оттуда, Вы могли вытянуть результаты веб-сервиса в BDC, который доступен для поиска, и затем в поисковых данных результатов/BDC у Вас может быть ссылка на исходную страницу. Это похоже на устройство Rube Goldberg, я знаю, но доверяю мне, когда я скажу, что будет легче, чем выяснение, как записать обработчика протокола.