2017-01-12 25 views
-1
Candidate_ID IsProccesd? 
     22    1 
     22    0 

輸出:無如何找到從數據庫中不同的數據,當外鍵被複制

Candidate_ID IsProccesd? 
     22    0 
     22    0 

輸出:記錄中刪除

我想查詢該數據

+0

沒有一個詳細的問題。你可以發佈樣本數據,預期的產出和你到目前爲止嘗試過的嗎? –

+0

我的Candidate_ID對於這兩個行都是22,但是IsProcessed是1和0當它是零並且零刪除記錄或者保持原樣時 – Akki

+1

這並不能解釋這一點。請記住,我們不知道你在這裏做什麼。你需要清楚解釋它。這意味着提供細節。含糊的解釋並不能幫助我們理解你的要求。這裏是一個開始的好地方。 http://spaghettidba.com/2015/04/24/how-to-post-at-sql-question-on-a-public-forum/ –

回答

0

試試這個:

;WITH ToDelete AS (
    SELECT Candidate_ID, IsProcessed, 
      COUNT(CASE WHEN IsProcessed = 0 THEN 1 ELSE 0 END) 
      OVER (PARTITION BY Candidate_ID) AS cnt 
    FROM mytable 
) 
DELETE FROM ToDelete 
WHERE cnt = 2 

以上查詢將刪除Candidate_ID分區,其中有兩條記錄,分別爲IsProcessed = 0。只要每個Candidate_ID分區至多有兩條記錄,這將工作。否則,您可能需要調整查詢。

+0

感謝你對我的hrlp @Giorgos Betsos – Akki

+0

@Akki很高興我能幫助。如果它幫助您解決您的問題,請將此標記或任何其他答案標記爲已接受。 –

相關問題