我有一个我想要拉的客户列表,但我不确定我是否做得对。我有大约 20 000 条记录要处理,只是希望我能以正确的方式去做。基本上我有 2 个不同的客户端表,它们恰好属于 2 个不同的应用程序,但存储在同一个数据库中。
一个客户,John Doe (ex) 可以在两个客户表中具有不同的客户 ID,但是,在两个表中都有一个相同的唯一 ID。因此,例如 John Doe 在 tbl1 中的 clientID = 7,在 tb2 中的 ClientID = 11,但在两个 Client 表中,唯一 ID 为 129009。
这是基本结构。这是前两张桌子。
tblClient1 tblServiceClient1
ClientID UniqueID ClientID ClientServiceType
17 12345 17 8
15 34567 15 8
第二组表是
tblClient2 tblClientService2
ClientID UniqueID ClientID ClientServiceType
58 12345 58 8
89 34567 89 7
我希望得到的是来自两组表的客户端列表,其中: -Client 必须存在于 tblClient1 和 tblClient2 -Client 必须在 tblClientServiceType1 和 tblClientServiceType2 中具有 ClientServiceType = 8
这是我希望实现的目标:
ClientID1 ClientID2 UniqueID
17 58 12345
因此,我需要加入两个 ClientID 表中的客户端具有相同 UniqueID 并且两个客户端都具有 ClientSERviceType = 8 的表
我只看到这个客户端,因为另一个客户端的 ClientServiceType = 7
Select tblClient1.ClientID, tblClient2.ClientID, tblClient1.UniqueID
From tblClient1
inner join tblClientService1 on tblClient1.ClientID = tblClientService1.ClientID
inner join tblClient2 on tblClient1.UniqueID = tblClient2.UniqueID
inner join tblServiceClient2 on tblClient2.ClientID = tblServiceClient2.ClientID
Group By tblClient1.ClientID, tblClient2.ClientID, tblClient1.UniqueID
Having tblServiceClient1.ClientServiceType = 8 and tblServiceClient2.ClientServiceType=8