在 sql 查询中获取递归数据
fetch the recursive data in sql query
我有 table 用户 user_name 和经理 name.I 想要获得经理 ='test' 的用户名。我想得到将 ramya 作为经理和被举报人的被举报人的用户
users table
SNO user_name manager
1 vani Ramya
2 ramya geetha
3 priya ramya
4 mani ramya
5 latha vani
6. hema Anitha
我想得到 ramya 和 ramya 的报告人 vani、priya 和 mani 的名字,并得到让 vani 担任经理的 latha,而让 ramya 担任经理的拉萨。我想要 ramya,vani,priya,mani 和 latha
您可以使用以下查询:
select a.user_name from
users a left join users b
on a.manager=b.user_name
where a.user_name='Ramya' or a.manager='ramya' or b.manager='Ramya'
输出:
| user_name |
|-----------|
| latha |
| vani |
| priya |
| mani |
| ramya |
SQL Fiddle : http://sqlfiddle.com/#!9/f57b06/10
P.S :我以前从未使用过 Laravel 但在阅读了一些文档后我认为可以在其中以这种方式编写查询
$users = DB::table('users as a')
->select('a.user_name')
->leftJoin('users as b', 'a.manager', '=', 'b.user_name')
->where('a.user_name','Ramya')
->orwhere('a.manager','Ramya')
->orwhere('b.manager','Ramya')
->get();
我有 table 用户 user_name 和经理 name.I 想要获得经理 ='test' 的用户名。我想得到将 ramya 作为经理和被举报人的被举报人的用户
users table
SNO user_name manager
1 vani Ramya
2 ramya geetha
3 priya ramya
4 mani ramya
5 latha vani
6. hema Anitha
我想得到 ramya 和 ramya 的报告人 vani、priya 和 mani 的名字,并得到让 vani 担任经理的 latha,而让 ramya 担任经理的拉萨。我想要 ramya,vani,priya,mani 和 latha
您可以使用以下查询:
select a.user_name from
users a left join users b
on a.manager=b.user_name
where a.user_name='Ramya' or a.manager='ramya' or b.manager='Ramya'
输出:
| user_name |
|-----------|
| latha |
| vani |
| priya |
| mani |
| ramya |
SQL Fiddle : http://sqlfiddle.com/#!9/f57b06/10
P.S :我以前从未使用过 Laravel 但在阅读了一些文档后我认为可以在其中以这种方式编写查询
$users = DB::table('users as a')
->select('a.user_name')
->leftJoin('users as b', 'a.manager', '=', 'b.user_name')
->where('a.user_name','Ramya')
->orwhere('a.manager','Ramya')
->orwhere('b.manager','Ramya')
->get();