繁体   English   中英

从连接表中获取满足条件的任何数据

[英]Fetching Data from joining table for any one from condition satisfied

我有两个称为“活动和索赔”的表。 活动表包含活动ID和所有其他活动详细信息。 索赔表包含该活动的所有索赔相关信息。 一个活动具有多个声明,并且活动ID是声明表的外键。

在索赔表中,我为每个索赔保持不同的状态(已批准,已删除,已拒绝,已提交)。

当前,如果索赔表中存在任何一项索赔并且未处于已批准,拒绝,提交状态的任何索赔状态,则我要从活动表中获取数据面临一个问题。

例如,如果一个活动有两个不同的声明,而一个声明为已批准状态,而另一个声明为已删除状态。 因此,在我的sql查询中,应该返回空值(因为一个声明已被批准进行活动)。 在另一个示例中,如果活动只有一个声明,并且状态被删除。 这导致我的查询应该获取“活动详细信息”(因为该活动只有一个声明,并且处于已删除状态)。

我当前正在使用的查询如下

SELECT * 
FROM myactivities_4 
LEFT JOIN claims2 ON claims2.activityid = myactivities_4.activityid 
AND claim_status NOT IN ('Submitted', 'Approved','Rejected')

谁能帮我解决这个问题

你似乎想了解活动和索赔,其中没有权利要求在上述三个状态的信息:

SELECT a.*, c.*
FROM myactivities_4 a JOIN
     claims2 c
     ON c.activityid = a.activityid
WHERE NOT EXISTS (SELECT 1
                  FROM claims2 c2
                  WHERE c2.activityid = a.activityid AND
                        C2.claim_status IN ('Submitted', 'Approved','Rejected')   
                  );

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM