我有三个表:GROUPS,PROVIDERS和CORE。以下是每个表格中的相关字段。
组:GroupID,名称,ID,ID2
提供者:SSN,GroupName,GroupID,GroupID2
CORE:RecordID,ID
我正在尝试将来自CORE的GROUPID和来自CORE的RecordID插入到他们自己的表中,作为一种桥接表。
联接发生在GROUPS.GroupID = PROVIDERS.GroupID,CORE.RecordID = PROVIDERS.SSN和PROVIDERS.GroupName,GroupID,GroupID2 = GROUPS.Name,ID,ID2
之间在某些情况下,GROUPS.GroupID和ID2可能为NULL或空白。
我正在直接从PROVIDERS表中运行查询并获得14k记录以下的头发。我所参加的查询产生的查询量几乎多了1.5倍。
如果我能提供的东西会有所帮助,请告诉我。我只是在寻找帮助解决问题的方法,而不一定是SQL。
INSERT INTO Group_Provider_Bridge (RecordID, GroupID)
SELECT DISTINCT
CORE.RecordID, GROUPS.GroupID
FROM CORE INNER JOIN PROVIDERS ON CORE.SSN = PROVIDERS.SSN INNER JOIN GROUP
ON PROVIDERS.GroupName = GROUPS.Name AND GROUPS.ID IS NULL OR GROUPS.GroupID = ""
GROUP BY CORE.RecordID, GROUPS.GroupID
以上是我最初尝试附加数据PORTION的SQL。其余数据是通过加入GroupID(其中GroupID为非NULL)来完成的。生成的两个查询附加的记录比查询显示的记录多1.5千克。