Переключение на Главную Страницу Страницы: 1 ОтправитьПечать
Обычная тема Запрос (число прочтений - 1788 )
barbitura
Full Member
***
Отсутствует


1C++ rocks!

Сообщений: 135
Зарегистрирован: 22. Мая 2013
Пол: Мужской
Запрос
12. Февраля 2015 :: 04:48
Печать  
Как можно сделать вот такой запрос.

SELECT
    Спр1.Код
    Спр1.Поле
    Спр2.ЭлементСправочникаПервогоУровня
FROM $Справочник.Спр1 Спр1
LEFT JOIN $Справочник.Спр2 AS Спр2 ON Спр1.Поле = Спр2.Поле


Если даже ссылка в спр2 на 9 уровень то надо получить первый уровень.
  
Наверх
 
IP записан
 
Eprst
God Member
*****
Отсутствует



Сообщений: 3397
Зарегистрирован: 08. Октября 2007
Re: Запрос
Ответ #1 - 12. Февраля 2015 :: 07:26
Печать  
Че ?

ЗЫ: нужен верхний родитель что ле ?
  
Наверх
 
IP записан
 
barbitura
Full Member
***
Отсутствует


1C++ rocks!

Сообщений: 135
Зарегистрирован: 22. Мая 2013
Пол: Мужской
Re: Запрос
Ответ #2 - 12. Февраля 2015 :: 10:00
Печать  
Да верхний родитель, но только первого уровня.
  
Наверх
 
IP записан
 
Eprst
God Member
*****
Отсутствует



Сообщений: 3397
Зарегистрирован: 08. Октября 2007
Re: Запрос
Ответ #3 - 13. Февраля 2015 :: 05:48
Печать  
Либо подзапрос с кучей левых джоинов с получением верхнего родителя, либо заранее иметь табличку всех родителей и обновлять её с помощью триггера. Потом ужо в любом месте левое соединение с ней для получения родителя на любом уровне (или всю иерархию)

Либо писать свою хранимку, для получения верхнего родителя
  
Наверх
 
IP записан
 
Eprst
God Member
*****
Отсутствует



Сообщений: 3397
Зарегистрирован: 08. Октября 2007
Re: Запрос
Ответ #4 - 13. Февраля 2015 :: 05:58
Печать  
Тип того:


Код
Выбрать все
create function dbo.ReturnFirstParent(@id char(9))
returns char(9) as
begin
 declare @parentid char(9)
 declare @resid char(9)
 select @parentid = tab.parentid from $Справочник.Нужный as tab where tab.id = @id
 if @parentid = $ПустойИД
  set @resid  = @id
 else
  set @resid  = dbo.ReturnFirstParent(@parentid)
 return @resid
end 

  
Наверх
 
IP записан
 
barbitura
Full Member
***
Отсутствует


1C++ rocks!

Сообщений: 135
Зарегистрирован: 22. Мая 2013
Пол: Мужской
Re: Запрос
Ответ #5 - 13. Февраля 2015 :: 06:21
Печать  
Спасибо. Улыбка
  
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: 1
ОтправитьПечать