SELECT D.DATEVAL,
D.DAY,
D.MONVAL,
D.YEARVAL,
E.HIREDATE
FROM DATE1 D,
EMP E
WHERE TO_DATE('D.DATEVAL-D.MONVAL-D.YEARVAL','DD-MON-YYYY') = E.HIREDATE;
这个子查询是否正确?
我的要求是显示date1表列和hiredate,date1列是通过使用TO_CHAR()fn从hiredate派生的。注意:date1表中没有hiredate列
答案 0 :(得分:0)
我假设DATEVAL已经是一个日期值,它与你已经可以用来加入表格的HIREDATE相同
SELECT D.DATEVAL,
D.DAY,
D.MONVAL,
D.YEARVAL,
E.HIREDATE
FROM DATE1 D
JOIN EMP E
ON TO_DATE('D.DATEVAL','DD-MON-YYYY') = E.HIREDATE;
或者如果您想使用其他列,可以使用
TO_DATE(D.DAY || '-' || D.MONVAL || '-' D.YEARVAL,'DD-MON-YYYY') = E.HIREDATE;
因为您使用了TO_DATE()
,所以您可能正在使用Oracle或Postgre,您可以在其中使用|| (管道)连接字符串