我有一个帐户用户的数据库表。有两种类型的帐户: -
数据表有两个附加列,帐号和父帐号。每个记录都会被分配一个新的帐号,但如果一个帐户是标准帐户,则会为其分配一个父帐号。我可以通过“父帐号”字段为NULL来判断谁是管理员。
我想打印这些用户的列表,由管理员帐户和该管理员的任何子项订购,然后再转到下一个管理员帐户。我期待一份清单: -
我做了一个SQL查询: -
SELECT *
FROM [LWC].[dbo].[AspNetUsers]
ORDER BY AccountNumber, ParentAccountNumber
但这没有正确排序,因为每个帐号都不同。我认为这会按照我的预期排序,如果AccountNumber对于多个记录是相同的,但事实并非如此。
有人可以建议我如何正确排序吗?
谢谢!
答案 0 :(得分:1)
我想简单地说:
$user = Auth::user();
if($user->to_logout){
Auth::logout();
$user->update(['to_update' => 0]);
return redirect('/');
}
会做你想做的事。
答案 1 :(得分:0)
由于这是一种递归关系,因此可以使用recursive cte,或者hierarchyId类型会更好/更好。
答案 2 :(得分:0)
尝试这样的事情:
select * from
(SELECT *,
case
when Parent is null then cast((cast(Account as nvarchar) + '0') as int)
else cast((cast(Parent as nvarchar) + '1') as int)
end as OrderCol
FROM [LWC].[dbo].[AspNetUsers])
order by OrderCol