从旧样式更改为新样式与单独的表连接

时间:2018-03-01 23:17:02

标签: plsql

我有一个查询,其中即时通讯使用两个表来连接两列,我的查询工作正常,但当我尝试将其更改为新样式时,我陷入了联接这里是我的查询

    SELECT c.*,e.status,
CASE
  WHEN e.status <> 'A' THEN c.usuclaveautorizaapoyo
  ELSE c.usuclaveautoriza
END
FROM    empleados e, configuracion_sensores_emp c, usuarios u, empleados e2, usuarios u2
WHERE   e.empnum = u.empnumnm
AND     u.trabnum = e.trabnum
AND     c.usuclaveautoriza  = u.usuclave
AND     e2.empnum = u2.empnumnm
AND     u2.trabnum = e2.trabnum
AND     c.usuclaveautorizaapoyo = u2.usuclave

这里是我卡住的地方

SELECT c.*,e.status,
CASE
  WHEN e.status <> 'A' THEN c.usuclaveautorizaapoyo
  ELSE c.usuclaveautoriza
END
FROM    empleados e
JOIN    usuarios u ON e.empnum = u.empnumnm
AND     u.trabnum = e.trabnum
JOIN    configuracion_sensores_emp c ON c.usuclaveautoriza = u.usuclave
????    empleados e2  <------- how can i be able to join or add this to the code?
JOIN    usuarios u2 ON e2.empnum = u2.empnumnm
AND     u2.trabnum = e2.trabnum 
AND     c.usuclaveautorizaapoyo = u2.usuclave

1 个答案:

答案 0 :(得分:1)

SELECT c.*,e.status,
CASE
  WHEN e.status <> 'A' THEN c.usuclaveautorizaapoyo
  ELSE c.usuclaveautoriza
END
FROM    empleados e
JOIN    usuarios u ON e.empnum = u.empnumnm
AND     u.trabnum = e.trabnum
JOIN    configuracion_sensores_emp c ON c.usuclaveautoriza = u.usuclave
JOIN    usuarios u2 ON c.usuclaveautorizaapoyo = u2.usuclave
JOIN    empleados e2  ON e2.empnum = u2.empnumnm
AND     u2.trabnum = e2.trabnum