SELECT ica.CORP_ID, ica.CORP_IDB, ica.ITEM_ID, ica.ITEM_IDB,
ica.EXP_ACCT_NO, ica.SUB_ACCT_NO, ica.PAT_CHRG_NO, ica.PAT_CHRG_PRICE,
ica.TAX_JUR_ID, ica.TAX_JUR_IDB, ITEM_PROFILE.COMDTY_NAME
FROM ITEM_CORP_ACCT ica
,ITEM_PROFILE
WHERE (ica.CORP_ID = 1000)
AND (ica.CORP_IDB = 4051)
AND (ica.ITEM_ID = 1000)
AND (ica.ITEM_IDB = 4051)
AND ica.EXP_ACCT_NO = ITEM_PROFILE.EXP_ACCT_NO
我基本上都在说,因为exp帐户代码是'801500',那么Name应该返回“Miscellaneous Medic ......”。
答案 0 :(得分:0)
似乎你所展示的东西是不可能的。你在编辑器中编辑了数据吗?您正在使用ica.EXP_ACCT_NO = ITEM_PROFILE.EXP_ACCT_NO
加入。因此,EXP_ACCT_NO = 801500的每个条目也应该具有相同的COMDTY_NAME
。
但是,可能是您的ID实际上不是数字,而且它们是具有空格的字符串(801500__
vs 801500
)。但是,由于您没有执行左外连接,这也意味着您在ITEM_PROFILE
中有一个具有相同空格的条目。
您还需要正确规范化表格数据(除非这是一个视图)但仍然意味着您有错误的数据。
尝试执行相同的查询,但使用TRIM
函数删除空格:it'll override anything the Style does。
示例:强>
SELECT ica.CORP_ID, ica.CORP_IDB, ica.ITEM_ID, ica.ITEM_IDB,
ica.EXP_ACCT_NO, ica.SUB_ACCT_NO, ica.PAT_CHRG_NO, ica.PAT_CHRG_PRICE,
ica.TAX_JUR_ID, ica.TAX_JUR_IDB, ITEM_PROFILE.COMDTY_NAME
FROM ITEM_CORP_ACCT ica
,ITEM_PROFILE
WHERE (ica.CORP_ID = 1000)
AND (ica.CORP_IDB = 4051)
AND (ica.ITEM_ID = 1000)
AND (ica.ITEM_IDB = 4051)
AND trim(ica.EXP_ACCT_NO) = trim(ITEM_PROFILE.EXP_ACCT_NO);