Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2005.06.06;
Скачать: [xml.tar.bz2];

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.44 MB
Время: 0.015 c
4-1113215792
Ascan
2005-04-11 14:36
2005.06.06
Иконка в SysTray не создавая своих окон.


1-1116514026
Oleg_
2005-05-19 18:47
2005.06.06
структуры в safearray реально?


14-1116628398
Германн
2005-05-21 02:33
2005.06.06
"Обсуждение закрыто" - что это значит?


1-1116615022
Volume
2005-05-20 22:50
2005.06.06
Name


14-1116184996
Ajax
2005-05-15 23:23
2005.06.06
Перегон авто из Европы





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский