У меня есть таблица учетных записей баз данных. Есть два типа счета: -SQL - упорядочение результатов рекурсивного отношения
- учетная запись администратора
- Стандартный счет
Таблица данных имеет два дополнительных столбца, номер счета и номер счета Родитель. Каждой записи независимо присваивается новый номер учетной записи, но если учетная запись является стандартной учетной записью, ей присваивается номер родительской учетной записи. Я могу указать, кто является администратором, из-за того, что поле «Номер родительского счета» имеет значение NULL.
Я хочу напечатать список этих пользователей, заказанный учетной записью администратора, а затем всех детей этого администратора, прежде чем перейти к следующей учетной записи администратора. Я ожидаю, что список: -
- Administrator (счета 1250, Родитель NULL)
- Стандартный счет (счета 1255, Родитель 1250)
- Стандартный счета (счета 1256, Родитель 1250)
- Администратор (счета 1375, родитель NULL)
- Стандартный счет (счета 1403, родитель 1375)
Я сделал запрос SQL из: -
SELECT *
FROM [LWC].[dbo].[AspNetUsers]
ORDER BY AccountNumber, ParentAccountNumber
, но это не приказывать правильно, потому что каждый номер счета отличается. Я предполагаю, что это будет выглядеть так, как я ожидал, если AccountNumber был одинаковым для нескольких записей, но это не так.
Может ли кто-нибудь предложить, как я могу сортировать это правильно?
Спасибо!
этот простой, как менеджер и его сотрудник problem.just предоставить образцы данных. – KumarHarsh
Я думаю, что 'ORDER BY ISNULL (ParentAccountNumber, AccountNumber), ParentAccountNumber, AccountNumber' будет делать то, что вы хотите. – GarethD
@GarethD спасибо, обработал удовольствие. Что делает бит ISNULL? Я никогда не видел этого в ORDERBY раньше? –