2013-08-17 56 views
1

我有兩個實體,名稱分別爲ContentStateHashedFile。 的ContentState每條記錄​​都鏈接到該HashedFile但關係不是唯一的,所以有很多人關於ContentStateunique="false"not-null="true"(因此,2個或更多ContentState記錄可以指向同一個HashedFile)一個關係。 我想要做的是從數據庫中刪除一個ContentState並檢查HashedFile沒有ContentStates連接到它們的記錄&刪除這些以及。這是什麼PostgreSQL查詢?選擇沒有指針的對象

表列如下:

CONTENT_STATES

id, hashedFileId

HASHED_FILES

id

回答

3

您可以使用not exists建設

delete HASHED_FILES as hf 
where 
    not exists (select * from CONTENT_STATES as cs where cs.HashedFileId = h.Id)