2017-10-11 22 views
1

我有用戶名,其中有user_name和manager.I想獲取用戶名誰擁有經理='test'.I想獲得有ramya作爲經理的用戶和reportee的reportee獲取sql查詢中的遞歸數據

users table 
SNO user_name manager 
1 vani  Ramya 
2 ramya  geetha 
3 priya  ramya 
4 mani  ramya 
5 latha  vani 
6. hema  Anitha 

我想的名字拉姆亞和拉姆亞的reportee瓦尼,普里亞和Mani和獲得誰是有瓦尼因爲誰是有拉姆亞作爲經理經理latha。我想拉姆亞,瓦尼,普里亞,Mani和latha

回答

1

您可以使用下面的查詢:

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小提琴:http://sqlfiddle.com/#!9/f57b06/10

PS:我以前從未使用過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(); 
+0

其有用的非常感謝 – user3386779