|
запрос поиск по 2 колонкам | ☑ | ||
---|---|---|---|---|
0
Ma3eIIa
08.04.15
✎
18:23
|
Есть колонки Колонка1 | Колонка2
А Б Б В В Г и.д. У меня есть только параметр А, как мне получить все значения по колонке2 ? |
|||
1
Ненавижу 1С
гуру
08.04.15
✎
18:24
|
ничего нн понял
|
|||
2
фобка
08.04.15
✎
18:25
|
Select tab.колонка2 from tab as tab where tab.колонка1 = 'Б'
|
|||
3
Ma3eIIa
08.04.15
✎
18:25
|
То есть мне надо условие что Колонка2 с пред строки = Колонке1 тек строке
|
|||
4
фобка
08.04.15
✎
18:27
|
(3) holy shit...
|
|||
5
bolobol
08.04.15
✎
18:28
|
Для начала, строки должны иметь последовательность, чтобы существовало понятие "предыдущая строка". Иначе - она может быть любой.
|
|||
6
D_E_S_131
08.04.15
✎
18:28
|
(3) А получить данные какие хочешь?
|
|||
7
1976vas
08.04.15
✎
18:29
|
(6) + и связь какая
|
|||
8
Ma3eIIa
08.04.15
✎
18:31
|
Это табличная часть.
Первый поиск идет по Колонке1 = &Параметр. Получаю Колонку2, дальше нужно повторить для всех вхождений. Типа поиск составляющих детали. |
|||
9
Ma3eIIa
08.04.15
✎
18:32
|
Есть типа изделие. мне нужно получить ее материалы.
|
|||
10
Ma3eIIa
08.04.15
✎
18:33
|
Цикл решает вопрос. но как в запросе
|
|||
11
D_E_S_131
08.04.15
✎
18:34
|
Помнится в "Рарус-Общепит" функция развертки ингредиентов блюда была зашифрована в ключе. :)
|
|||
12
Ma3eIIa
08.04.15
✎
18:35
|
(11) да походу цикл :) запросом пока не осилил.
|
|||
13
Ma3eIIa
08.04.15
✎
18:35
|
(12) вернее запрос в цикле
|
|||
14
Ненавижу 1С
гуру
08.04.15
✎
18:43
|
Считай, что значения вершины графа, а строки таблицы - указывают на ребра
Так вот по вершине А тебе нужно получить все вершины связные с А. Алгоритм имеет сложность O(n^2), а такие задачи запросом увы не решить |
|||
15
Ma3eIIa
08.04.15
✎
18:44
|
так у меня динамический список. что в тупую собирать запрос ?
|
|||
16
Ma3eIIa
08.04.15
✎
18:53
|
||||
17
Ненавижу 1С
гуру
08.04.15
✎
18:53
|
тебе нужны для каждого изделия получить список базовых (не собираемых) материалов для него что ли?
|
|||
18
Ma3eIIa
08.04.15
✎
18:54
|
да
|
|||
19
Ma3eIIa
08.04.15
✎
18:54
|
но я знаю потреблящию партию, нужно найти партию размещения. и так все которые
|
|||
20
Ma3eIIa
08.04.15
✎
18:55
|
ВЫБРАТЬ
"А" КАК Поле1, "Б" КАК Поле2 ПОМЕСТИТЬ ВТ_Таблица ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ "Б", "В" ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ "В", "Г" ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ "Д", "Е" ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ВТ_Таблица.Поле1, ВТ_Таблица.Поле2 ИЗ ВТ_Таблица КАК ВТ_Таблица ГДЕ ВТ_Таблица.Поле1 = &Параметр Вот пример. мне нужно получить все значение с колонки2 |
|||
21
Ненавижу 1С
гуру
08.04.15
✎
18:55
|
(19) надо на стадии формирования это где-то хранить
|
|||
22
Ненавижу 1С
гуру
08.04.15
✎
18:56
|
(16) там видишь слова loop и connect by?
это скрытые циклы, в 1С так язык запросов не умеет |
|||
23
Ma3eIIa
08.04.15
✎
18:58
|
(22) да я понял это. когда она будет такое уметь. а то динамо перестает быть динамо
|
|||
24
Ma3eIIa
08.04.15
✎
19:01
|
ех рекурсия в запросе. мечта .... если в данных была бы еще колонка связи. то проблем нет. а так. короче только цикл :(
|
|||
25
Ma3eIIa
08.04.15
✎
19:03
|
или 100 пакетов :) но за такое точно не погладят по голове. лучше уже цикл
|
|||
26
Михаил Козлов
09.04.15
✎
10:04
|
Если правильно понял, речь идет о транзитивном замыкании графа. В таком разе, если не лень, можно попробовать такой прием (на уровне идеи).
Умножение матрицы смежности на себя даст достижимость вершин не более чем за 2 шага. Если полученную матрицу умножить опять саму на себя - достижимость не более чем за 4 шага. Т.е., если проделать такую операцию n раз - получим достижимость за 2^n шагов. Т.е. реально это нужно делать не так уж много раз. Умножение матриц в запросом есть в http://infostart.ru/public/195848/ Присоединяюсь к (21). |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |