Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.06.06;
Скачать: CL | DM;

Вниз

SQL запрос   Найти похожие ветки 

 
Elast   (2005-04-28 10:57) [0]

Помогите разобраться... Есть три ТБ Partner, Item, PartnerItem.
Т.е. много-ко-многим. Необходимо найти 1.Товары общие для поставщиков и 2.Все общие товары. Т.е. объединение пересечений и пересечение пересечений товаров. Сделал  в ХР

 For select PN.NamePartner, IT.NameItem, PI.Id_Partner,  PI.Id_Item
       from  Partner PN, Item IT, PartnerItem PI
      where (PN.Id_Partner = PI.Id_Partner) and
            (IT.Id_Item    = PI.Id_Item   )
   order by NameItem
       Into :NamPar, :NamIte, :Id_Par, :Id_Ite
 do begin
   Select Count(Id_PartnerItem)
     from PartnerItem
    where Id_Partner <> :Id_Par and
          Id_Item = :Id_Ite
     Into :Cou;
   If (:Cou > 1) then
     suspend;
 end

Вопрос: на SQL это реализуется, вроде бы рекурсия намечается...


 
Sergey13 ©   (2005-04-28 11:05) [1]

Мне не особо понятно, что надо найти
1.Товары общие для поставщиков - для всех поставщиков?
2.Все общие товары. - для всех поставщиков? и чем это отличается от 1?


 
Elast   (2005-04-28 11:07) [2]

М.б. один товар для всех (пересечение пересечений множества товаров) или товары общие для некоторых поставщиков (объединение пересечений).


 
Sergey13 ©   (2005-04-28 11:14) [3]

2 [2] Elast   (28.04.05 11:07)
Запрос писать лень, но...
В первом случае count(товар) в PartnerItem должен быть равен count(*) в Partner. Во втором должен быть >1.



Страницы: 1 вся ветка

Текущий архив: 2005.06.06;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.024 c
1-1116644188
Roman_Bar
2005-05-21 06:56
2005.06.06
Ссылка с одной кнопке на другую


14-1116348987
___Nikolay
2005-05-17 20:56
2005.06.06
Для тех, кто разрабатывает сайты


3-1114873152
DIS
2005-04-30 18:59
2005.06.06
master-detail SQLзапрос


3-1114505812
MakNik
2005-04-26 12:56
2005.06.06
Сравнение строк


14-1116079521
Ihor Osov'yak
2005-05-14 18:05
2005.06.06
пару фоток