Вниз
Скачать: 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.021 c
6-1111330702
Евгений2
2005-03-20 17:58
2005.06.06
С помощью чего в Delphi это можно реализовать?


10-1093613582
Reflex
2004-08-27 17:33
2005.06.06
вопрос по OleAutomation


3-1114504022
-=Domix=-
2005-04-26 12:27
2005.06.06
Запрос с ХП


6-1110791159
frEE)stylEr
2005-03-14 12:05
2005.06.06
функции RAS


1-1116137905
Grief
2005-05-15 10:18
2005.06.06
var Proc: procedure а дальше что?!




   Наверх