我正在尝试在Oracle SQL Developer中运行以下查询,并且它无法识别正确的paren,而且我只需要返回第一行。
SELECT 'PX'
FROM CME_NYMEX_FUTURES
where SYM='NG' AND CME_NYMEX_FUTURES.CONTRACT_MONTH = '6' and CME_NYMEX_FUTURES.CONTRACT_YEAR = '2013'
and OPR_DATE=(select opr_date FROM CME_NYMEX_FUTURES where SYM='NG' and TYP='6' and CME_NYMEX_FUTURES.CONTRACT_MONTH = '6'
and CME_NYMEX_FUTURES.CONTRACT_YEAR = '2013' order by OPR_DATE desc) and TYP='6'
ORDER BY CONTRACT_YEAR asc, CONTRACT_MONTH asc
当我尝试以下操作时,结果不正确 - 我应该返回一个数据点,而不是我得到'PX'返回:
SELECT 'PX'
FROM CME_NYMEX_FUTURES
where SYM='NG' AND CME_NYMEX_FUTURES.CONTRACT_MONTH = '6' and CME_NYMEX_FUTURES.CONTRACT_YEAR = '2013'
and OPR_DATE=(select opr_date FROM CME_NYMEX_FUTURES where SYM='NG' and TYP='6' and CME_NYMEX_FUTURES.CONTRACT_MONTH = '6'
and CME_NYMEX_FUTURES.CONTRACT_YEAR = '2013' and ROWNUM =1) and TYP='6'
ORDER BY CONTRACT_YEAR asc, CONTRACT_MONTH asc, OPR_DATE desc
感谢。
答案 0 :(得分:0)
我仍在尝试破译您的查询,但是哪一列实际上是在保存您的数据点?你正在获得PX,因为你将'PX'的常量作为选择参考的一部分,而不是转动结果。
您的数据点的CME_NYMEX_FUTURES中的任何列都应列在此处,而不是“PX”。如果我在这里错过了你的观点,请告诉我们。