[英]SQL: Condition in Left outer Join
選舉:
EID PID PlanCode Coverage
2 49791 DELTA FAMILY
2 49791 LIGNA FAMILY
2 49791 BSP FAMILY
2 49792 BSP FAMILY
2 49792 LIGNA FAMILY
2 49792 DELTA FAMILY
2 49793 LIGNA FAMILY
關系表:
EID PID
2 49791
2 49792
2 49793
表Desc:
關系:員工有3個家屬
選舉:員工為每個Pid選擇一個特定的計划
問題:
由於Pid:49793僅注冊LigNa計划,因此嘗試為剩余計划添加2行,即增量,BSP行
我們可以這樣做,因為計划名稱不固定,但是我們知道關系表中的依賴項嗎?
請建議..
PS:現在可以使用交叉聯接工作
如果沒錯,則嘗試為每個EID,PID
組合插入丟失的PlanCode
。 除非我錯過了一些內容,否則不太了解LEFT JOIN
用法與該問題的聯系
INSERT INTO Election
(EID,PID,PlanCode,Coverage)
SELECT A.EID,A.PID,B.PlanCode,A.Coverage
FROM (SELECT DISTINCT EID,PID,Coverage
FROM Election) A
CROSS JOIN (SELECT DISTINCT PlanCode
FROM Election) B
WHERE NOT EXISTS (SELECT 1
FROM Election C
WHERE A.EID = C.EID
AND A.PID = C.PID
AND B.PlanCode = C.PlanCode)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.