我有四列的表格 id, name, designation, manager_id.
表架构:
CREATE TABLE "Employee_Information"
(
"id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
"name" varchar,
"designation" varchar,
"manager_id" integer references employee_information(id)
);
Run Code Online (Sandbox Code Playgroud)
如下
ID Name Designation Manager_id
-------------------------------------
1 Raja CEO
2 Mani CTO 1
3 Kavi COO 1
4 Murugan Head 3
5 Alpha Head(Fin) 4
7 Kannan Head 4
Run Code Online (Sandbox Code Playgroud)
员工层级如下:
Raja CEO
Mani CTO
Kavi COO
Murugan Head
Alpha Head(Fin)
Kannan Head
Beta CFO
Delta Head
Run Code Online (Sandbox Code Playgroud)
我想要一个 SQL 查询来显示特定员工的所有可能的经理。他的 Juniors 或其他下级员工姓名不应出现在结果集中。
显示同级别或更高级别的所有其他员工。
我无法为此找到解决方案。
试图将Haskell函数转换为Clojure。但是面临困难。不知道发生了什么。
这是递归的Haskell函数。
mapWidth :: [[Char]] -> Int
mapWidth [] = 0
mapWidth (x:xs)
| length xs == 0 = length x
| length x /= length (xs!!0) = -1
| otherwise = mapWidth(xs)
Run Code Online (Sandbox Code Playgroud)
到目前为止,这是我尝试过的:
(defn mapWidth [data_list]
(def data 0)
([[x & xs](seq data_list)](if (= (count x) 0)
(data 0)
(data -1))))
([[x & xs](seq data_list)](if not(= (count xs) length (xs!!0))
(data 0)
(data -1)
mapWidth(xs)))
Run Code Online (Sandbox Code Playgroud)
任何帮助表示赞赏。我对这两种语言都是新手。