以下は、SQLクエリのサンプルo/pです-
BUG_ID | LINKED_BUG_ID
-----------|-----------------
3726 | 45236
45236 | 3726
3726 | 45254
45254 | 3726
3726 | 45402
45402 | 3726
3726 | 1182
1182 | 55745
私のSQLo/ pには、2つの行があり、そのうち1つの行は冗長です。たとえば、BugId3726 とLinkedBugId45326およびBugId45326とLinkedBugId3726 はo / pに2回存在し、 そのうち1行だけが必要であり、そのような種類の重複行は無視されます(個別の値を含むo/pに影響を与えることなく、バグID列またはリンクされたバグID列)。
現在、次のクエリを使用してそのような重複行を識別できますが、このような重複行のうち1行だけが必要です。
SELECT
BUG_ID,
LINKED_BUG_ID,
CASE
WHEN BUG_ID IN (select LINKED_BUG_ID FROM MY_BUG_LINKS) AND
LINKED_ISSUE_ID IN (SELECT BUG_ID FROM MY_BUG_LINKS)
THEN 'true' ELSE 'false'
END AS EQUAL
FROM MY_BUG_LINKS;
以下は、すべての行(重複する行も含む)をフェッチするためにコードで使用するSQLクエリです。
SELECT BUG_ID, LINKED_BUG_ID FROM MY_BUG_LINKS;
データベースレベル自体またはJavaコードで冗長な重複行をフェッチしないようにするにはどうすればよいですか?