|
|
|
Все возможные сочетания записей
|
|||
|---|---|---|---|
|
#18+
Всем добрый день. Возможно ли запросом получить все возможные сочетания из примерно такой таблицы: Имеем такой уникальный (по Тип+Код) набор записей: Тип Код 1 АА 1 ББ 2 ВВ 2 ГГ 2 ДД Хотелось бы получить следующее: Тип Код 1 АА 2 ВВ 1 АА 2 ГГ 1 АА 2 ДД 1 ББ 2 ВВ 1 ББ 2 ГГ 1 ББ 2 ДД Поле Тип может принимать значения от 1 и до к.г. далее. Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2016, 16:58:01 |
|
||
|
Все возможные сочетания записей
|
|||
|---|---|---|---|
|
#18+
Код: plsql 1. 2. 3. как-то так? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2016, 17:02:52 |
|
||
|
Все возможные сочетания записей
|
|||
|---|---|---|---|
|
#18+
xenix, по-моему перебор... SELECT A.TYPE, B.CODE FROM( SELECT 1 TYPE, 'АА' CODE FROM DUAL UNION ALL SELECT 1, 'ББ' FROM DUAL UNION ALL SELECT 2, 'ВВ' FROM DUAL UNION ALL SELECT 2, 'ГГ' FROM DUAL UNION ALL SELECT 2, 'ДД' FROM DUAL) A CROSS JOIN ( SELECT 1 TYPE, 'АА' CODE FROM DUAL UNION ALL SELECT 1, 'ББ' FROM DUAL UNION ALL SELECT 2, 'ВВ' FROM DUAL UNION ALL SELECT 2, 'ГГ' FROM DUAL UNION ALL SELECT 2, 'ДД' FROM DUAL) B TYPE CODE 1 АА 1 ББ 1 ВВ 1 ГГ 1 ДД 1 АА 1 ББ 1 ВВ 1 ГГ 1 ДД 2 АА 2 ББ 2 ВВ 2 ГГ 2 ДД 2 АА 2 ББ 2 ВВ 2 ГГ 2 ДД 2 АА 2 ББ 2 ВВ 2 ГГ 2 ДД чего-то не хватает в условии. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2016, 17:23:00 |
|
||
|
Все возможные сочетания записей
|
|||
|---|---|---|---|
|
#18+
в моем предыдущем тресните его distinct-ом Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2016, 17:24:34 |
|
||
|
Все возможные сочетания записей
|
|||
|---|---|---|---|
|
#18+
xenix, а теперь не хватает вариантов. да и как бы не нужные появились. например: 2 АА т.е. такие пары Тип+Код которых нет в исходных данных. %)))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2016, 17:28:36 |
|
||
|
Все возможные сочетания записей
|
|||
|---|---|---|---|
|
#18+
Тогда я не совсем понял задачу Код: plsql 1. 2. 3. 4. 5. 6. что должно быть на выходе? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2016, 17:33:23 |
|
||
|
Все возможные сочетания записей
|
|||
|---|---|---|---|
|
#18+
xenix, WITH C(TYPEP,CODE) ( SELECT 1,'AA'FROM DUAL UNION ALL SELECT 2,'BB'FROM DUAL ) в данном случае результат нужен такой: 1 АА 2 ВВ по-моему я в первом посте написал что имеем и что хотим получить. реальный пример исходных данных и желаемого результата. Тип Код 1 АА 1 ББ 2 ВВ 2 ГГ 2 ДД Хотелось бы получить следующее: Тип Код 1 АА 2 ВВ 1 АА 2 ГГ 1 АА 2 ДД 1 ББ 2 ВВ 1 ББ 2 ГГ 1 ББ 2 ДД ессно я его нарочно упорядочил для наглядности, что бы были видны т.н. пары. в данном примере это пары, т.к. в примере тип принимает значения 1 и 2. но могут быть и "тройки" и "четверки" и т.д. " Поле Тип может принимать значения от 1 и до к.г. далее. " ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2016, 17:45:54 |
|
||
|
Все возможные сочетания записей
|
|||
|---|---|---|---|
|
#18+
fetisofxenix, ... Постановка задачи такая: у автора есть несколько подмножеств строк. Он хочет найти все возможные сочетания элементов разных подмножеств. Причем вывести их не в привычном строчном виде: {{сочетание1, элемент 1 подмножества, элемент 2 подмножества, элемент 3 подмножества...}, ...}, а в виде столбца: /*сочетания*/{ /*сочетание1*/{ {сочетание 1, элемент 1 подмножества}, {сочетание 1, элемент 2 подмножества}, {сочетание 1, элемент 3 подмножества}, ... } /*сочетание2*/{...},.... } С помощью XML или иерархических запросов это можно сделать. Но более чем уверен, что в действительности автору нужно что-то другое. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2016, 04:45:02 |
|
||
|
Все возможные сочетания записей
|
|||
|---|---|---|---|
|
#18+
Найди уникальные КОД. Найди уникальные ТИП Потом соедини две эти таблицы Вот и получятся все возможные комбинации код и тип. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2016, 05:23:16 |
|
||
|
Все возможные сочетания записей
|
|||
|---|---|---|---|
|
#18+
982183Вот и получятся все возможные комбинации код и тип. Да. Но задача другая. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2016, 07:08:57 |
|
||
|
Все возможные сочетания записей
|
|||
|---|---|---|---|
|
#18+
Ну положим задачу вы описали не очень. Добавьте в свой пример запись : 3 ЕЕ и расскажите нам, какой вы при этом хотите результат. Для текущего примера можно в лоб :) Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2016, 11:49:45 |
|
||
|
Все возможные сочетания записей
|
|||
|---|---|---|---|
|
#18+
AnSi_Sr, если перейти на конкретику, то есть цвета: Цвет 1, Цвет 2 и т.д., пока их 5. в примере это типы 1 и 2. каждый из цветов может принимать различные значения. в примере это коды. для каждого артикула заданы списки возможных типов цветов и значений. но не сразу в виде сочетаний, парами, и т.д., а так как я привел в примере (Тип+Код): Цвет1 АА Цвет2 ББ Цвет2 ВВ и т.д. так организованно хранение данных, видимо сделали так что бы не плодить неизвестное кол-во столбцов под каждый тип, кол-во которых может увеличиваться, а сделали "красиво". хранение хранением, но в реальной жизни суть его это сочетания значений для каждого типа. выглядеть должно это так: АА ББ АА ВВ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2016, 11:54:29 |
|
||
|
Все возможные сочетания записей
|
|||
|---|---|---|---|
|
#18+
AnSi_Sr982183Вот и получятся все возможные комбинации код и тип. Да. Но задача другая. А разве он не просит все возможные комбинации? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.09.2016, 06:26:43 |
|
||
|
Все возможные сочетания записей
|
|||
|---|---|---|---|
|
#18+
982183А разве он не просит все возможные комбинации?Он не способен объяснить, но кажется ему нужно размножение строк по количеству противоположного типа, то есть банальный антижоин по типу и вывод только одной стороны. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.09.2016, 06:50:41 |
|
||
|
Все возможные сочетания записей
|
|||
|---|---|---|---|
|
#18+
Он же говорит, есть цвет и есть артикул. И ему нужны все сочетания цветов и артикулов. Например: Если есть три цвета и три артикула, то есть девять сечетаний А1 Ц1 А1 Ц2 А1 Ц3 А2 Ц1 А2 Ц2 А2 Ц3 А3 Ц1 А3 Ц2 А3 Ц3 Так? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.09.2016, 08:16:50 |
|
||
|
Все возможные сочетания записей
|
|||
|---|---|---|---|
|
#18+
не равно, да я не могу сказать как то что мне нужно получить назвать одним научным термином. я могу привести еще сколько угодно примеров исходных данных и однозначного ожидаемого результата. я думаю от того как это будет называться, никому легче не станет. нужен результат, а не терминология. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.09.2016, 15:35:49 |
|
||
|
Все возможные сочетания записей
|
|||
|---|---|---|---|
|
#18+
982183, забудьте вы про артикулы, это было описание сути вещей. вот вам конкретный пример: Имеем: Цвет1 АА Цвет2 ББ Цвет2 ВВ нужно ОДНОЗНАЧНО получить следующее: Цвет1 АА Цвет2 ББ ---------- Цвет1 АА Цвет2 ВВ вот еще пример пошире: Цвет1 АА Цвет2 ББ Цвет2 ВВ Цвет3 ГГ нужно ОДНОЗНАЧНО получить следующее: Цвет1 АА Цвет2 ББ Цвет3 ГГ ---------- Цвет1 АА Цвет2 ВВ Цвет3 ГГ для наглядности группы разделил ------------, ессно это в результирующем наборе не нужно. достаточно примеров? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.09.2016, 15:43:22 |
|
||
|
Все возможные сочетания записей
|
|||
|---|---|---|---|
|
#18+
fetisofвот вам конкретный пример: Имеем: Цвет1 АА Цвет2 ББ Цвет2 ВВ нужно ОДНОЗНАЧНО получить следующее: Цвет1 АА Цвет2 ББ ---------- Цвет1 АА Цвет2 ВВ Что такое ---------- "Все возможные сочетания записей " в этом случае будет: Цвет1 АА Цвет1 ББ Цвет1 ВВ Цвет2 АА Цвет2 ББ Цвет2 ВВ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.09.2016, 16:08:43 |
|
||
|
Все возможные сочетания записей
|
|||
|---|---|---|---|
|
#18+
fetisof982183, вот еще пример пошире: Цвет1 АА Цвет2 ББ Цвет2 ВВ Цвет3 ГГ нужно ОДНОЗНАЧНО получить следующее: Цвет1 АА Цвет2 ББ Цвет3 ГГ ---------- Цвет1 АА Цвет2 ВВ Цвет3 ГГ А почему не Цвет1 АА Цвет1 ББ Цвет1 ВВ Цвет1 ГГ Цвет2 АА Цвет2 ББ Цвет2 ВВ Цвет2 ГГ Цвет3 АА Цвет3 ББ Цвет3 ВВ Цвет3 ГГ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.09.2016, 16:11:17 |
|
||
|
Все возможные сочетания записей
|
|||
|---|---|---|---|
|
#18+
КАкие такие "группы" ты отделяешь --------- ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.09.2016, 16:12:13 |
|
||
|
Все возможные сочетания записей
|
|||
|---|---|---|---|
|
#18+
автор"Все возможные сочетания записей " в этом случае будет: Цвет1 АА Цвет1 ББ Цвет1 ВВ Цвет2 АА Цвет2 ББ Цвет2 ВВ по Вашему описанию желаемого результата у меня получилось так: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.09.2016, 16:17:42 |
|
||
|
Все возможные сочетания записей
|
|||
|---|---|---|---|
|
#18+
Это тот вариант, который я ему предложил. Он же утверждает, что группировка должна быть несколько другая. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.09.2016, 16:26:11 |
|
||
|
Все возможные сочетания записей
|
|||
|---|---|---|---|
|
#18+
fetisof, оно? Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.09.2016, 16:49:16 |
|
||
|
Все возможные сочетания записей
|
|||
|---|---|---|---|
|
#18+
982183, я же написал что это: "для наглядности группы разделил ------------, ессно это в результирующем наборе не нужно." я не знаю как еще понятнее написать что это... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.09.2016, 16:57:25 |
|
||
|
Все возможные сочетания записей
|
|||
|---|---|---|---|
|
#18+
j2k, а вы пробовали тестировать? ожидания у ТС другие Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. Или "А я... угадаю эту мелодию с 3х нот" :D ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.09.2016, 16:58:15 |
|
||
|
|

start [/forum/topic.php?fid=52&msg=39301344&tid=1887535]: |
0ms |
get settings: |
8ms |
get forum list: |
17ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
169ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
88ms |
get tp. blocked users: |
1ms |
| others: | 233ms |
| total: | 535ms |

| 0 / 0 |
