我正在尝试构建一个脚本来检索今天填充的“edit_mnemonic”值列表。为此,我必须检查索赔表中的“last_analysis_date”。
我正在使用三张桌子
声明 - 主键“claim_iid” - 包含last_analysis_date,claim_EID
claim_line - 主键“claim_line_iid” - 包含“claim_iid”
claim_line_edits - 主键“claime_line_edit_iid” - 包含“claim_line_iid”,“edit_mnemonic”
到目前为止,我已经提出了
select edit_mnemonic
from claim_line_edit
where claim_line_iid in
(select claim_line_iid from claim_line where claim_iid in
(select claim_iid from claim where to_date(last_analysis_date) >= to_date(sysdate)));
select claim_eid from claim where to_date(last_analysis_date) >= to_date(sysdate);
这给了我以下内容:
EDIT_MNEMONIC
--------------------
MFD
ICM
EST
ICM
EST
5 rows selected.
CLAIM_EID
---------------------------------------------------------------------------
1850735 B
9999999
9999999
3 rows selected.
我的问题是,如何在同一语句中为这些edit_mnemonics从声明表中选择相应的claim_EID?我需要在这里使用联接吗?
我尝试使用
select edit_mnemonic, claim_eid
from claim_line_edit, claim
where claim_line_iid in
(select claim_line_iid from claim_line where claim_iid in
(select claim_iid from claim where to_date(last_analysis_date) >= to_date(sysdate)));
结果是我在索赔表上收到了所有claim_eid的列表。
我想要的输出是
EDIT_MNEMONIC CLAIM_EID
------------- ---------
MFD 1850735 B
ICM 9999999
EST 9999999
ICM 9999999
EST 9999999
5 rows selected.
感谢您抽出时间阅读我的帖子,如果需要其他信息,请与我们联系。
答案 0 :(得分:2)
select edit_mnemonic, claim_eid
from claim_line_edits cle join claim_line cl on cle.claim_line_iid = cl.claim_line_iid
join claims c on cl.claim_iid = c.claim_iid
where last_analysis_date >= trunc(sysdate)
这假设last_analysis_date是日期格式,应该是;否则你需要你的to_date(last_analysis_date),更好的是使用明确的日期格式。