我有两个独立于彼此的查询;
SELECT e.employee_id,
e.first_name,
e.last_name,
e.job_id,
e.salary,
e.commission_pct, e.manager_id,
e.department_id,
j.start_date,
j.end_date
FROM hr.employees e
LEFT OUTER JOIN hr.job_history j
ON e.employee_id = j.employee_id
WHERE commission_pct IS NULL
第一个回忆两个不同表格中的信息,hr.employees
和hr.job_history
。
这是第二个;
SELECT e.employee_id,
e.last_name,
m.employee_id "MgrNo",
m.last_name "MgrName"
FROM hr.employees e
INNER JOIN hr.employees m ON e.manager_id=m.employee_id
这是为了将employee_id
与manager_id
相关联,以显示每个员工的经理姓氏。但是,当我尝试将两者结合在一起时,我不断收到错误,告诉我我的前缀无效。有什么想法吗?
答案 0 :(得分:0)
尝试:
app.get('/check',function(req,res){
var user = firebaseClient.auth().currentUser
console.log(user)
})
这使用一个作为子查询,然后在第一个查询的密钥上加入其密钥。
答案 1 :(得分:0)
您似乎正在尝试创建一个查询,该查询将使用其经理信息生成员工薪资/佣金历史记录。您可以组合这样的查询:
SELECT e.employee_id, e.first_name, e.last_name, e.job_id, e.salary,
commission_pct, e.manager_id, e.department_id, j.start_date, j.end_date,
m.employee_id "MgrNo", m.last_name "MgrName"
FROM hr.employees e
INNER JOIN hr.employees m ON e.manager_id=m.employee_id
LEFT OUTER JOIN hr.job_history j ON e.employee_id = j.employee_id
WHERE commission_pct IS NULL
答案 2 :(得分:0)
"我一直收到错误,告诉我前缀无效。"
这是一个错字。我们无法在您尚未发布的查询版本中发现它。但基本上你只需要第一个查询中的另一个连接,如下所示:
SELECT e.employee_id,
e.first_name,
e.last_name,
e.job_id,
e.salary,
e.commission_pct,
m.employee_id "MgrNo",
m.last_name "MgrName",
e.department_id,
j.start_date,
j.end_date
FROM hr.employees e
LEFT OUTER JOIN hr.job_history j
ON e.employee_id = j.employee_id
LEFT OUTER JOIN hr.employees m
ON m.employee_id = e.manager_id
WHERE e.commission_pct IS NULL
我建议使用外部联接,因为通常不是每个员工都有一个经理(取决于您如何实现层次结构)。