За последние 24 часа нас посетили 20217 программистов и 1084 робота. Сейчас ищут 711 программистов ...

SQL, рекурсия или что мне поможет?

Тема в разделе "MSSQL", создана пользователем Verbal, 23 дек 2014.

  1. Verbal

    Verbal Активный пользователь

    С нами с:
    17 дек 2011
    Сообщения:
    207
    Симпатии:
    0
    Прощу помогите умные люди.
    Кто знает как можно сделать следущую вещь
    Есть таблица (ParentTierID, TierID)
    Мне нужно выбрать по TierID все записи из этой таблице поднимаясь верх пока parentTierID не станет меньше 1010

    Например
    ParentTierID, TierID
    1000 1012
    1012 1024
    1024 1253

    т.е. теперь при вызове этого select ему передаётся 1253, и он должен вернуть, как 1253 так и 1024, но не должен возвращать 1012
     
  2. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.230
    Симпатии:
    1.715
    Адрес:
    Молдова, г.Кишинёв
    Так есть в интернете уже готовые структуры и запросы по впихиванию иерархии в реляционные базы данных
     
  3. Verbal

    Verbal Активный пользователь

    С нами с:
    17 дек 2011
    Сообщения:
    207
    Симпатии:
    0
    ну у меня именно вот такая структура, это старый проект. как мне реализовать что бы выбрались все верхние уровни? кроме самого первого
     
  4. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.230
    Симпатии:
    1.715
    Адрес:
    Молдова, г.Кишинёв
    Почитай в интернете как называется такая структура и какие есть запросы чтобы с ней работать, но сходу думаю нужно просто не использовать sql а выбрать все и посчитать в программе.
     
  5. ciamon

    ciamon Новичок

    С нами с:
    19 дек 2014
    Сообщения:
    34
    Симпатии:
    0
    Код (Text):
    1. SELECT TierID FROM my_table WHERE ParentTierId<1010 ORDER BY TierID DESC