我有一个有效但需要永远的查询。我的“姓氏”列是 3 个选择查询。我知道必须有更好的方法来做到这一点。
SELECT LOANS.BALANCE, TAXES.TAX_DUE,
(SELECT SBAOFFCR.LAST_NAME
FROM SBAOFFCR
WHERE SBAOFFCR.INITIALS =
(SELECT PMGTMAIN.OFFICER
FROM PMGTMAIN
WHERE PMGTMAIN.BOC_NUM_STRING = LOANS.BOC_NUM_STRING
AND PMGTMAIN.SEQ =
(SELECT MAX(SEQ)
FROM PMGTMAIN
WHERE PMGTMAIN.BOC_NUM_STRING
= LOANS.BOC_NUM_STRING))) AS LastName
FROM LOANS
LEFT JOIN TAXES
ON LOANS.BOC_NUM_STRING = TAXES.BOC_NUM_STRING
WHERE LOANS.BALANCE > 0
PMGTMAIN
LOANS
AND中的每一条记录都有几条/多条记录TAXES
。
PMGTMAIN
列中有员工姓名缩写OFFICER
,可以在SBAOFFCR
表中作为列引用,INITIALS
并且在SBAOFFCR
表中有一个列LAST_NAME
,这是我从联接中的每条记录所需要的LOANS/TAXES
。
而且我不能OFFICER
从中获取任何PMGTMAIN WHERE LOANS.BOC_NUM_STRING = PMGTMAIN.BOC_NUM_STRING
东西,它必须是带有 的那个MAX(PMGTMAIN.SEQ)
。就像我说的,我的查询有效,但花了大约 10 分钟。