簡體   English   中英

SQL:左外部聯接中的條件

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM