Доброго времени суток.
Есть таблица связей
id_a| id_b
------------
1 | 4
4 | 6
5 | 7
6 | 8
8 | 15
нужно получить цепочку:
8-15, 6-8, 4-6, 1-4. Т.е. выбрать все звёна, которые взаимосвязаны, а затем вывести список в обратном порядке (по возрастанию).
1. nextdrift - 27 Ноября, 2010 - 08:00:24 - перейти к сообщению
2. DeepVarvar - 27 Ноября, 2010 - 08:18:34 - перейти к сообщению
Хм... Очень похоже на постраничный вывод, только "с другого ракурса" типа лимитов.. Однако не совсем понятен конечный результат. Не пойти ли от обратного не выводя то что не взаимосвязано?
3. nextdrift - 27 Ноября, 2010 - 12:19:47 - перейти к сообщению
Вариант может быть следующий:
id_a| id_b
------------
1 | 4
4 | 6
5 | 7
6 | 9
6 | 25
6 | 8
8 | 15
6 | 9
6 | 25 эти не должны попасть в массив. Поэтому я хочу делать в обратном поядке
Или это делается путём работы на стороне PHP ?
Но таких записей может быть около 5к ~ 10к (а может больше)
id_a| id_b
------------
1 | 4
4 | 6
5 | 7
6 | 9
6 | 25
6 | 8
8 | 15
6 | 9
6 | 25 эти не должны попасть в массив. Поэтому я хочу делать в обратном поядке
Или это делается путём работы на стороне PHP ?
Но таких записей может быть около 5к ~ 10к (а может больше)
4. JustUserR - 27 Ноября, 2010 - 13:05:44 - перейти к сообщению
nextdrift пишет:
Осуществление решения приведнной вами задачи по построению списка последовательных элементов на основе информационной полей предоставляющих их уникальные поля в сторону генерации - в действительности необходимо проводить на стороне сервера баз данных при причине возможности прямого доступа к информационным полям и применения внутренних механихмов индексации в таблицах Тем не менее фактическое решение может быть достигнуто посредством использования пользовательских SQL-функций - по причине неопределенности обобщенного уровня вложенности линейных запросов
Или это делается путём работы на стороне PHP ?
Но таких записей может быть около 5к ~ 10к (а может больше
Но таких записей может быть около 5к ~ 10к (а может больше
5. nextdrift - 27 Ноября, 2010 - 15:27:01 - перейти к сообщению
JustUserR пишет:
Осуществление решения приведнной вами задачи по построению списка последовательных элементов на основе информационной полей предоставляющих их уникальные поля в сторону генерации - в действительности необходимо проводить на стороне сервера баз данных при причине возможности прямого доступа к информационным полям и применения внутренних механихмов индексации в таблицах Тем не менее фактическое решение может быть достигнуто посредством использования пользовательских SQL-функций - по причине неопределенности обобщенного уровня вложенности линейных запросов
Ппц...
![Не понял Не понял](./im/emoticons/blink.gif)
Можно по-русски ?
![Радость Радость](./im/emoticons/biggrin24.gif)
А то я не на столько ещё силён
6. ALEN - 27 Ноября, 2010 - 17:08:00 - перейти к сообщению
nextdrift
Он по русски, не пугайтесь, там просто много БУКАВ.
JUR просто не любит писать коротко,а так там все по сути и просто.
P.S. JUR - свои посты в сателит постранично выводи и будет много ДЕНЯГ с сапы)))
Он по русски, не пугайтесь, там просто много БУКАВ.
JUR просто не любит писать коротко,а так там все по сути и просто.
P.S. JUR - свои посты в сателит постранично выводи и будет много ДЕНЯГ с сапы)))
7. dc93 - 27 Ноября, 2010 - 22:40:55 - перейти к сообщению
nextdrift
CODE (htmlphp):
скопировать код в буфер обмена
скопировать код в буфер обмена
- select a.id_a, a.id_b from table a
- where
- exists (select 1 from table b where a.id_a = b.id_b)
- order by 1 desc