天天看點

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])