Oracle sql选择不带';在第三个表中没有关系

Oracle sql选择不带';在第三个表中没有关系,oracle,Oracle,我有三张桌子 索赔额 索赔风险 交通工具 然后我需要下面的结果: 谁可以帮助我或与我共享要使用的查询? 注意:如果代码为700,则表示它是一辆车辆,必须填写“ai_vehicle_use”列,否则必须留空,因为“vehicle_TB”表仅包含车辆 这就是我所尝试的: select klm.CM_PL_INDEX, klm.cm_no, klmrisk.cr_risk_code, CASE WHEN klm.CM_PR_CODE = '0700' THEN klmrisk.cr_r

我有三张桌子

索赔额

索赔风险

交通工具

然后我需要下面的结果:

谁可以帮助我或与我共享要使用的查询? 注意:如果代码为700,则表示它是一辆车辆,必须填写“ai_vehicle_use”列,否则必须留空,因为“vehicle_TB”表仅包含车辆

这就是我所尝试的:

   select 
klm.CM_PL_INDEX,
klm.cm_no,
klmrisk.cr_risk_code,
CASE WHEN klm.CM_PR_CODE = '0700' THEN klmrisk.cr_risk_code ELSE '' END,
 veh.ai_vehicle_use  
from  CLAIMS_TB klm 
JOIN CLAIMS_RISK_TB klmrisk 
  ON (klm.cm_index = klmrisk.cr_cm_index)  
INNER JOIN VEHICLE_TB veh 
  on veh.ai_regn_no = klm.cm_no  
where klm.cm_no='CL/01/044/00001/01/2018' 
or klmrisk.cr_cm_index='86594' 
order by klmrisk.cr_risk_code;

我相信这能满足你的需要

SELECT
*
FROM CLAIMS_TB AS c
LEFT JOIN CLAIMS_RISK_TB cl ON c.cm_index = cl.cr_cm_index
LEFT JOIN VEHICLE_TB v ON cl.cr_risk_code = v.ai_risk_index

最后我找到了解决方案,下面的查询工作:

select * from CLAIMS_TB  c
JOIN CLAIMS_RISK_TB cr ON( C.CM_INDEX = cr.cr_cm_index) 
LEFT OUTER JOIN VEHICLE_TB v ON (cr.cr_risk_code = v.ai_regn_no);

MySQL还是SQL Server?不要标记多个RDBMS。一切都不一样!你能发布你到目前为止尝试过的吗?我建议你阅读“帮助他人重现问题”一节。。图片并不能帮助我们谴责……告诉我们你到目前为止写了什么问题?你能把你的尝试添加到这个问题上而不是评论吗?注释的格式对于代码来说是可怕的。此外,与图片相比,发布文本也会有所帮助。还有一篇很好的文章展示了你应该发布什么来让别人更容易。它拒绝了,我认为这是因为VEHICLE_TB只包含vehicles(700)@Isaackitenge-你是说这个查询不运行吗?如果是,请发布错误消息。如果返回错误的结果,请解释结果是如何错误的。仅仅说“它不起作用”并不能帮助我们得到你想要的答案。