天天看点

Sql Server一个表向另一个表添加多条数据,关联时查询出一条数据

废话不多说 !!!

我的需求是这样的,一条信息可以有多个部门验收,当所有的部门验收完成之后呢,才把最后验收的那条数据显示出来。

直接看表结构

Sql Server一个表向另一个表添加多条数据,关联时查询出一条数据

 以上就是三张表分别查询出来的数据,注意标红的地方才是重点。添加的数据时,分别先添加 BT_ReleaseAuditor 表,然后添加BT_HandleMessage表。添加时把验收部门名称添加到这个字段中”CollectDepartment“,这个字段是string类型。修改,添加时取字段”CollectDepartment“的值。然后循环条件到这个表”BT_ApplyCheck“。验收时取这个表里面是数据。

看最后查询语句:

select distinct r.RId, * from [dbo].[BT_ApplyCheck] c,[dbo].[BT_ReleaseAuditor] r where c.RId=r.RId

and c.RId in (select RId from [BT_ApplyCheck] group by RId,CollectResult having count(*)>1 and CollectResult=0)

and CollectCount in (select Max(CollectCount) from [BT_ApplyCheck])