1

と という名前の 2 つのエンティティがContentStateありHashedFileます。の各レコードにContentStateは がHashedFileリンクされていますが、その関係は一意ではないため、 と に関して多対 1 の関係がContentStateありunique="false"ますnot-null="true"(したがって、2 つ以上のContentStateレコードが同じ を指している可能性がありますHashedFile)。私がしたいのは、データベースから a を削除し、それらに接続されていないレコードをContentStateチェックして、それらも削除することです。これに対する PostgreSQL クエリは何ですか?HashedFileContentStates

表の列は次のとおりです。

CONTENT_STATES:

id, hashedFileIdなど

HASHED_FILES:

idなど

4

1 に答える 1

3

not exists建設を使用することができます

delete HASHED_FILES as hf
where
    not exists (select * from CONTENT_STATES as cs where cs.HashedFileId = h.Id) 
于 2013-08-17T07:27:37.390 に答える