|
Комбинаторика
|
|||
---|---|---|---|
#18+
Задача: есть таблица (tbl1) с ключевым полем (р1) где венесены два числа: 1 2 Запрос: Select tbl0.p1, tbl1.p1 From tbl1, tbl0 as tbl1; Возвращает все возможные комбинации с учётом последовательности: 1:1 1:2 2:1 2:2 Возможно ли? запросом составить уникальные комбинации без учёта последовательности, т. е. в итоге д. б. только три строки т. к. с таким условием строки: 1:2 и 2:1 одинаковые, и остаться должна одна любая строка. 1:1 1:2 или 2:1 2:2 ... |
|||
:
Нравится:
Не нравится:
|
|||
29.09.2021, 17:38 |
|
Комбинаторика
|
|||
---|---|---|---|
#18+
Пока у меня, есть решение, где все возможные комбинации помещаются в отдельную таблицу, и "дубли" удаляются. Но получается громоздко, особенно там где нужно прогнать больше чем 2 числа) ... |
|||
:
Нравится:
Не нравится:
|
|||
29.09.2021, 17:45 |
|
Комбинаторика
|
|||
---|---|---|---|
#18+
Код: vbnet 1. 2. 3.
... |
|||
:
Нравится:
Не нравится:
|
|||
29.09.2021, 19:51 |
|
Комбинаторика
|
|||
---|---|---|---|
#18+
Akina, Что-то не фурычит у меня этот вариант :( Сейчас мудрю с DISTINCT пока нет результата ... |
|||
:
Нравится:
Не нравится:
|
|||
30.09.2021, 17:31 |
|
Комбинаторика
|
|||
---|---|---|---|
#18+
Djois .... 1:2 или 2:1 ... Код: vbnet 1. 2.
Вопрос в том что и как сравнивать ... |
|||
:
Нравится:
Не нравится:
|
|||
30.09.2021, 18:01 |
|
Комбинаторика
|
|||
---|---|---|---|
#18+
ПыСы:а тривиальная группировка,не? ... |
|||
:
Нравится:
Не нравится:
|
|||
30.09.2021, 18:07 |
|
Комбинаторика
|
|||
---|---|---|---|
#18+
sdku, тривиальный WHERE - да. Код: sql 1. 2. 3. 4.
(ORDER BY по вкусу) ... |
|||
:
Нравится:
Не нравится:
|
|||
01.10.2021, 13:01 |
|
Комбинаторика
|
|||
---|---|---|---|
#18+
По-моему вся "проблема" в том что задача ТСа довольно абстрактна и я не представляю ситуации когда бы она применялась в реале, где бы стояла подобная задача. А для чего-то подобного необходимо еще на стадии проектирования БД разработать и хорошо продумать систему нумерации\обозначений товаров\продукции\услуг\да мало ли чего Обычно это так: группа\подгруппа\подподгруппа.(1.1.1 и 2.1.1-3 таблицы) и вполне реально и логично условие типа:объединить записи 1 подгруппы из всех групп.Но мне совершенно не понятно по какому признаку (и с какой целью нужно совершать подобное действо-да и сравнивать текст дело крайне скользкое) ТС хочет объединять записи из разных групп и разных подгрупп-1:2 и 2:1(все это конечно можно разбить на числа и группы\подгруппы но мне все же непонятно по какому КРИТЕРИЮ\УСЛОВИЮ выполнять объединение:типа "поди туда-не знаю куда,принеси то-не знаю что" как то так.... ... |
|||
:
Нравится:
Не нравится:
|
|||
01.10.2021, 15:33 |
|
Комбинаторика
|
|||
---|---|---|---|
#18+
Djois Возможно ли? запросом составить уникальные комбинации без учёта последовательности, т. е. в итоге д. б. только три строки т. к. с таким условием строки: 1:2 и 2:1 одинаковые, и остаться должна одна любая строка. 1:1 1:2 или 2:1 2:2 Возможно и без запроса: Код: vbnet 1. 2. 3. 4. 5. 6. 7.
Естественно To 2 это будет To N (если не два числа а больше) И в теле циклов будет MsgBox m(i) & ":" & m(j) где m - массив чисел с N элементами... Ну и If допилить... Можно тупо записать результат в пустую таблицу и получить редактируемый набор данных... ... |
|||
:
Нравится:
Не нравится:
|
|||
01.10.2021, 18:31 |
|
Комбинаторика
|
|||
---|---|---|---|
#18+
vmag Djois Возможно ли? запросом составить уникальные комбинации без учёта последовательности, т. е. в итоге д. б. только три строки т. к. с таким условием строки: 1:2 и 2:1 одинаковые, и остаться должна одна любая строка. 1:1 1:2 или 2:1 2:2 Возможно и без запроса: Код: vbnet 1. 2. 3. 4. 5. 6. 7.
Естественно To 2 это будет To N (если не два числа а больше) И в теле циклов будет MsgBox m(i) & ":" & m(j) где m - массив чисел с N элементами... Ну и If допилить... Можно тупо записать результат в пустую таблицу и получить редактируемый набор данных... ИМХО это ж КОМБИНАТОРИКА см. название топика... ... |
|||
:
Нравится:
Не нравится:
|
|||
01.10.2021, 18:34 |
|
Комбинаторика
|
|||
---|---|---|---|
#18+
vmag Код: vbnet 1. 2. 3.
... |
|||
:
Нравится:
Не нравится:
|
|||
01.10.2021, 22:24 |
|
Комбинаторика
|
|||
---|---|---|---|
#18+
ЦЦа Это даже школьники средних классов могут cоптимизировать. И.... Не вижу продолжения мысли... Нужно не просто сделать, а так чтоб за.баЦЦа ? ... |
|||
:
Нравится:
Не нравится:
|
|||
01.10.2021, 23:49 |
|
Комбинаторика
|
|||
---|---|---|---|
#18+
sdku По-моему вся "проблема" в том что задача ТСа довольно абстрактна и я не представляю ситуации когда бы она применялась в реале, где бы стояла подобная задача. Задачу в реале можно трактовать так. Числа - номера участников спортивных соревнований. Например 1-Спартак,2-Динамо... Тогда матчи Спартак-Динамо и Динамо-Спартак - одно и то же. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.10.2021, 11:58 |
|
Комбинаторика
|
|||
---|---|---|---|
#18+
ИВП, Спартак-Динамо и Динамо-Спартак это совсем не одно и то же. (каков первый критерий для определения положения в турнирной таблице при равенстве очков??) ... |
|||
:
Нравится:
Не нравится:
|
|||
03.10.2021, 13:25 |
|
Комбинаторика
|
|||
---|---|---|---|
#18+
sdku, Например, нужен суммарный итог в матчах между двумя командами. В календаре первым указывается хозяин поля. В шахматах вроде первый играет белыми ЕМНИП. Для подсчета баланса между участниками неважно, кто записан первым. Если турнир проводится в одном месте, то порядок следования участников в расписании вообще не имеет значения. А баланс нужен... Сейчас играем с ветеранами-одногруппниками подобные турниры, задача актуальна. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.10.2021, 20:37 |
|
Комбинаторика
|
|||
---|---|---|---|
#18+
ИВП, Дело в том что БД (то биш её таблицы) должна\ы максимально полно(в объеме определяемом при проектировании БД) описывать предмет(даже если для решения какой-то сиюминутной "хотелки" некоторые данные не понадобятся-т.к. обязательно(поверьте моему опыту) возникнет задача которую без этих данных,казалось бы не нужных, не решить. Я бы просто сделал так: -тбл.участники связанную с тбл.игры 1:М -тбл.игры (результат,когда ну и т.д-в зависимости от нужной Вам информации) -форма на таблице [игры], разместив на ней 2 поляСоСписком "участники" и далее простыми запросами извлекать нужную инфу( кто сколько игр сыграл,с какими результатами,набранные очки-создать турнирную таблицу и т.д и т.п - короче все что хотите) А покажите свою схему данных и вкратце опишите задачу стоящую перед Вами ... |
|||
:
Нравится:
Не нравится:
|
|||
03.10.2021, 22:20 |
|
Комбинаторика
|
|||
---|---|---|---|
#18+
vmag И.... Не вижу продолжения мысли... Нужно не просто сделать, а так чтоб за.баЦЦа ? Код: vbnet 1. 2. 3.
к Код: vbnet 1. 2.
, то, возможно, ему стоит позанимаЦЦа чем-нибудь другим, чтобы отдохнуть. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.10.2021, 11:29 |
|
Комбинаторика
|
|||
---|---|---|---|
#18+
Djois, Djois Akina, Что-то не фурычит у меня этот вариант :( Сейчас мудрю с DISTINCT пока нет результата Это был правильный ответ. Почему он Вас не устроил? Код: vbnet 1. 2. 3.
... |
|||
:
Нравится:
Не нравится:
|
|||
04.10.2021, 15:18 |
|
Комбинаторика
|
|||
---|---|---|---|
#18+
ЦЦа , то, возможно, ему стоит позанимаЦЦа чем-нибудь другим, чтобы отдохнуть. там в If i <= j Then Заложено это... Djois 1:2 и 2:1 одинаковые, и остаться должна одна любая строка. Если поменять <= на >= то получим не 1:2, а 2:1 Так ширше смотриЦЦа ... |
|||
:
Нравится:
Не нравится:
|
|||
04.10.2021, 16:31 |
|
Комбинаторика
|
|||
---|---|---|---|
#18+
Вроде бы простая задача,но по-моему надо думать на структурой(я об этом уже говорил),без массива здесь не обойтись. Как-то так(ограничения:числа справа и слева от разделителя \кстати-а откуда он взялся? если его не будет задача решается иначе\-однозначные) ... |
|||
:
Нравится:
Не нравится:
|
|||
04.10.2021, 17:25 |
|
Комбинаторика
|
|||
---|---|---|---|
#18+
sdku роде бы простая задача,но по-моему надо думать на структурой(я об этом уже говорил),без массива здесь не обойтись так может он просто в какую-то лотерею играет, тупо комбинации, перекрытия, гарантии интересуют... ... |
|||
:
Нравится:
Не нравится:
|
|||
04.10.2021, 17:37 |
|
Комбинаторика
|
|||
---|---|---|---|
#18+
vmag, в это Код: vbnet 1. 2. 3.
захардкодено (или захардкожено?) n*(n-1)/2 пустых итераций. Нет никаких "широких" смыслов, только трата ресурсов. И да, n*(n-1)/2 = 1 при n = 2, если хотите продолжать делать вид, что не понимаете о чём речь. Порядок вывода устанавливаеЦЦа - та-дам! - в операторе вывода: Код: vbnet 1.
или Код: vbnet 1.
, но какая разниЦЦа, если оба варианта "по ТЗ"? (Отвечать не нужно, вопрос риторический.) ... |
|||
:
Нравится:
Не нравится:
|
|||
04.10.2021, 17:46 |
|
Комбинаторика
|
|||
---|---|---|---|
#18+
vmag так может он просто в какую-то лотерею играет, тупо комбинации, перекрытия, гарантии интересуют... sdku .....А покажите свою схему данных и вкратце опишите задачу стоящую перед Вами ... |
|||
:
Нравится:
Не нравится:
|
|||
04.10.2021, 19:46 |
|
Комбинаторика
|
|||
---|---|---|---|
#18+
ЦЦа Отвечать не нужно, вопрос риторический. оптимизировать уже оптимизированное потом уже можно бесконечно (до определенной степени)... я дал раскраску даже не для школьников, а для детсадовцев, а дальше кому как нравится, хоть фломастерами, хоть акварелью... хоть штаны с рубашкой, хоть комбинезон рисуй... ... |
|||
:
Нравится:
Не нравится:
|
|||
05.10.2021, 00:06 |
|
Комбинаторика
|
|||
---|---|---|---|
#18+
sdku Я бы просто сделал так: -тбл.участники связанную с тбл.игры 1:М -тбл.игры (результат,когда ну и т.д-в зависимости от нужной Вам информации) Схемы окончательной пока нет. Пока в Екселе есть табличка. Но план примерно такой. Тбл.игры ( КодИгры , КомандаА, КомандаБ, ГолыА, ГолыБ, ДатаИгры.......) Тбл.участники ( КодУчастника , Участник....) Две связи Тбл.Игры с Тбл.участники и Тбл.участники1 sdku -форма на таблице [игры], разместив на ней 2 поляСоСписком "участники" и далее простыми запросами извлекать нужную инфу( кто сколько игр сыграл,с какими результатами,набранные очки-создать турнирную таблицу и т.д и т.п - короче все что хотите) Примерно такая форма на тбл.Игры пока в работе А вообще про это ВСЁ я написал для того, чтобы показать, что задача, когда надо отобрать все записи вида А,Б и Б,А достаточно реальная. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.10.2021, 14:40 |
|
|
start [/forum/topic.php?fid=45&msg=40101914&tid=1609585]: |
0ms |
get settings: |
10ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
60ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
60ms |
get tp. blocked users: |
1ms |
others: | 19ms |
total: | 184ms |
0 / 0 |