この種のことは、Java ではなく SQL で行われます。
しかし、あなたはあなたが望むものを定義していません。各 itemcode を 1 回だけ表示したい場合は、itemcode でグループ化することでそれを行うことができます。次に、アイテムコードごとに取得するレコードのグループをどうするかを決定する必要があります。これを「集約」と呼びます。たとえば、これらの各フィールドの最大値を確認したい場合があります (データベースが使用している照合順序でソートされています)。
SELECT itemcode,
MAX(itemname),
MAX(productcode),
MAX(productname)
FROM table1
GROUP BY itemcode
ORDER BY itemcode
または、次の 4 つのフィールドの一意の組み合わせのすべてのリストを表示することに興味があるかもしれません。
SELECT itemcode,
itemname,
productcode,
productname
FROM table1
GROUP BY itemcode, itemname, productcode, productname
ORDER BY itemcode, productcode
もちろん、これはアイテムコード 123 が 2 回表示される可能性が非常に高いことを意味します。
それはすべて、あなたが探しているものに依存します。より良い支援が必要な場合は、どれを理解し、説明する必要があります。必要な出力のリストとともに、テーブル構造といくつかのサンプル データを示すことができれば簡単です。
アップデート
更新された質問に基づいて、4 つのテーブルで複数の一致を提供する単一の「コード」に参加していると思いますが、各テーブルでそのコードに関連付けられた一意の「名前」を確認したいと考えています。それは次のようなものを必要とします:
SELECT productcode,
productname,
A_itemname,
B_itemname,
C_itemname
FROM Table1
JOIN Table2 ON A_itemcode = productcode
JOIN Table3 ON B_itemcode = productcode
JOIN Table4 ON C_itemcode = productcode
GROUP BY productcode,
productname,
A_itemname,
B_itemname,
C_itemname
これがあなたが考えていたものではない場合は、もう一度説明してみてください。
繰り返しますが、これは Java ではなく SQL で行います。