powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Помогите сделать выборку
7 сообщений из 7, страница 1 из 1
Помогите сделать выборку
    #32717920
JamesBean
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день!
Подскажите, пожалуйста, как построить запрос по следующему условию:
1. Есть набор множеств, в которых содержатся элементы.
2. Нужно найти такое множество, в котором содержатся все элементы хотя бы одного другого множества.
Например, есть множества А, Б, В, Г, состоящие, соответственно, из элементов {а1}, {а2}, {а3}, {а3, а4}. В данном случае как сделать выборку, чтобы показать, что под условия 1, 2 попадает множество Г.
...
Рейтинг: 0 / 0
Помогите сделать выборку
    #32721356
maXmo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
SELECT B.value, A.value FROM B LEFT OUTER JOIN A ON B.value=A.value
если во втором столбце ответа есть NULL, то множество B не является подмножеством A.
Код: plaintext
1.
2.
3.
SELECT A.value, B.value, C.value, D.value FROM A
LEFT OUTER JOIN B ON A.value=B.value
LEFT OUTER JOIN C ON A.value=C.value
LEFT OUTER JOIN D ON A.value=D.value
- проверка, является ли A подмножеством B,C или D. Если является, то в соответствующем столбике не будет NULLов.
ma X mo
...
Рейтинг: 0 / 0
Помогите сделать выборку
    #33264772
Фотография xax_nv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну что, получилась 75 задача?
...
Рейтинг: 0 / 0
Помогите сделать выборку
    #33264827
Фотография 4m@t!c
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
xax_nvНу что, получилась 75 задача?
Гы-гы..;))))))))))
----------------------------------------
Артисты не приехали, приехали цыгане
...
Рейтинг: 0 / 0
Помогите сделать выборку
    #33264831
Фотография xax_nv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я на полном серьезе...
...
Рейтинг: 0 / 0
Помогите сделать выборку
    #33265280
max(id)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Если в вашем случае понятия множество и элементы множества эквивалентны понятиям таблица и строка таблицы, то попытаюсь предложить решение :
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
select T1.tbl, 
       T2.tbl, 
       select if(count(M.*)= 0 ,'Yes','No') is_inc
       from ( select id 
              from  
                ( select 'A' as tbl, A.id as id from A
                    union all
                  select 'B' as tbl, B.id as id from B
                    union all
                  select 'C' as tbl, C.id as id from C
                    union all
                  select 'D' as tbl, D.id as id from D
                ) as U1
              where F.tbl = T1.tbl,
                minus
              select id 
              from  
                ( select 'A' as tbl, A.id as id from A
                    union all
                  select 'B' as tbl, B.id as id from B
                    union all
                  select 'C' as tbl, C.id as id from C
                    union all
                  select 'D' as tbl, D.id as id from D
                ) as U2
              where F.tbl = T2.tbl
            ) M
( select 'A' as tbl
    union all
  select 'B'
    union all
  select 'C'
    union all
  select 'D'
) as T1,
( select 'A' as tbl
    union all
  select 'B'
    union all
  select 'C'
    union all
  select 'D'
) as T2
Стоит учесть что решение расчитано на фиксированое количество множеств.
Если не требуется решение одним SQL запросом, то все можно переписать с использованием временных таблиц и т.д.
P.S. возможно не самое оптимальное из решений, просто первое что на ум пришло...
...
Рейтинг: 0 / 0
Помогите сделать выборку
    #33265282
max(id)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вот незадача: в MySQL нет minus. Так что мое предыдущее решение не подходит... Приношу свои извинения
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Помогите сделать выборку
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]