第一次在这里发布,希望一切顺利。
我尝试使用Oracle SQL Developer进行查询,该查询从表中返回customer_ID,并从另一个表中返回付款时间。我非常确定问题出在我的逻辑流程之内(这是我使用SQL的时间很长了,而且又回到学校了,所以我对此有些生疏。)我想将ID列出为DISTINCT和ORDER BY日期(升序),因此只会显示第一个日期。
但是,在某些情况下,返回的表包含相同ID的两倍甚至更多。滚动浏览时,我甚至发现了相同的ID和相同的DATE几次。
如果您想了解更多,请询问!
SELECT DISTINCT
FIRM.customer.CUSTOMER_ID,
FIRM.account_recharge.X__INSDATE FELTOLTES
FROM
FIRM.customer
INNER JOIN FIRM.account
ON FIRM.customer.CUSTOMER_ID = FIRM.account.CUSTOMER
INNER JOIN FIRM.account_recharge
ON FIRM.account.ACCOUNT_ID = FIRM.account_recharge.ACCOUNT
WHERE
FIRM.account_recharge.X__INSDATE BETWEEN TO_DATE('14-01-01', 'YY-MM-DD') AND TO_DATE('14-12-31', 'YY-MM-DD')
ORDER
BY FELTOLTES
您的选择之所以这样工作,是因为aCUSTOMER_ID
确实有多个X__INSDATE
,因此结果中的记录将是不同的。如果只需要第一个日期,则不要使用DISTINCT
,ORDER BY
而是尝试选择MIN(X__INSDATE)
并使用GROUP BY CUSTOMER_ID
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句