Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.031 c
4-1113889016
Ola
2005-04-19 09:36
2005.06.06
Как программно перезапустить винду?


6-1111262919
CAMCOH
2005-03-19 23:08
2005.06.06
Программная смена IP в windows xp


1-1116511807
Ada
2005-05-19 18:10
2005.06.06
Как мне открыть файл PDF из своего приложения?


4-1113771014
totuin
2005-04-18 00:50
2005.06.06
Доступ в меню "Отправить"


6-1111468533
atruhin
2005-03-22 08:15
2005.06.06
FD_CLOSE и оставшиеся в буфере данные.




   Наверх