Пожалуйста, помогите! Выберите запрос в SQL
ID Name Designation Level userid 15 Sh. B.M. Babbar SDE-R2 00010104 ELE15 16 Sh. Surinder AE-R2 0001010401 ELE16 17 Sh. Roop Lal JE-R2 000101040101 ELE17 18 Sh. Mansatinder JE-R3 000101040102 ELE18 328 testnews JE_R2 000101040103 JE_R2 329 testnews JE_R2 000101040104 JE_R2 330 testnew12 AE-R3 000101040105 AE-R3 331 testnews AE-R3 000101040106 AE-R3
Это мой employeeList столом и над следующей таблице результата, Сде(Сде-Р2) в качестве родителя в соответствии с ае как ребенок и ае(ае-Р2) в соответствии Йе как subchild desiganation. я хочу получить только sde под данными AE через уровень
я пробую этот запрос "Выберите * из списка сотрудников, где уровень типа '00010104%"но показываю все записи
Что я уже пробовал:
я хочу показать только дочерние данные по родительским данным (SDE-R2 00010104)
"
16 Sh. Surinder AE-R2 0001010401 ELE16"
CHill60
Ваша структура данных не ясна - как "уровень" указывает на родительские или дочерние данные?
Nishant.Chauhan80
уровень указывает на иерархию
Сде родителей
AE ребенок
Subchild Йе
я хочу показать только дочерние данные через родительский уровень
CHill60
Так что включите это в свое предложение where ... и обозначение типа " AE%"
Jörgen Andersson
Это перечисляемый путь. Это один из трех основных способов хранения иерархических данных. То же самое, что MS использует в hierarchyid
OriginalGriff
В этом нет никакого смысла. Ваш запрос будет - правильно - показывать все записи, потому что это то, что вы сказали ему сделать.
Однако совершенно непонятно, что именно вы хотите показать - я понятия не имею, что такое "уровень", где хранятся "данные АЭ" или какие на Земле должны быть отношения.
Начните с того, что покажите нам, какие именно выходные данные вы хотите получить, и объясните, почему другие строки не должны включаться.
Nishant.Chauhan80
я хочу показать только дочерние данные по родительским данным (SDE-R2 00010104)
"16 Ш. Суриндер ае-Р2 0001010401 ЕЛЕ16"
OriginalGriff
Да, но ..... мы понятия не имеем, как вы определяете понятия "родитель" и "ребенок" - и это совсем не очевидно из ваших данных. Что определяет его как "родителя", а шляпа говорит: "это дитя ..."?
Обычно у вас есть столбец "ID" и столбец "ParentID", который ссылается на него (часто через отношение внешнего ключа). Но я не вижу здесь ничего подобного.
Jörgen Andersson
Это перечисляемый путь, в отличие от списка смежности или вложенного набора
OriginalGriff
А это очень плохая идея ... :вздох:
Jörgen Andersson
Скажите microsoft :-)
https://docs.microsoft.com/en-us/sql/t-sql/data-types/hierarchyid-data-type-method-reference?view=sql-server-2017
Все они имеют свое применение. На моей предыдущей работе мы в конечном итоге использовали как перечислимые пути, так и списки смежности по соображениям производительности.
Довольно хороший обзор здесь: https://www.cnblogs.com/ttltry-air/archive/2012/08/10/2633164.html