以下のコードを使用しています。
SELECT l_name, f_name, user_id
FROM (SELECT a.l_name, a.f_name, count(*)
FROM shema.emp_table1 a, schema2.emp_table2 b
WHERE a.emp_id = b.emp_id2
AND b.office_num = '4017'
AND a.email IS NULL
HAVING COUNT (a.l_name) > 1
group by a.l_name, a.f_name
ORDER BY a.l_name, a.f_name)
GROUP BY l_name, f_name;
...私がしたいのは、ユーザーの姓、名、およびユーザー ID を返すことです。データベース内のユーザーが姓で「一致」している場合 (重複の可能性があります)。問題が発生しているのは、USER_ID フィールドがユーザーごとに一意になることです...そのため、姓と名を共有している場合でも、ユーザー ID は一意です...これにより、クエリがゼロ行を返します。検索条件からユーザー ID フィールドを除外すると、探しているリストが表示されます:姓と名を共有するユーザー... (たとえば、Doe、John のカウントが 4 のユーザー)。しかし、ユーザーIDに対するクエリは必要ありませんが、「返されるフィールド」の1つとしてそれを望んでいます...しかし、それを行うことができないようです。
どんな援助でも大歓迎です。上記のクエリのさまざまなバリエーションを試しました。カウントの有無にかかわらず、user_id の有無にかかわらず、探しているものを取得できませんでした。
私が出力として持ちたいのは次のようなものです:
L_NAME F_NAME USER_ID COUNT(*)
SMITH JOHN ABC123 2
SMITH JOHN BCD234 2
...しかし、今探しているので、ABC123 のユーザー ID を持つスミス、ジョンの「count(*)」が 2 にならないため、クエリが機能しない可能性があります...「ユーザー ID」思った以上に難しくなっています。この種の要求を満たすために無名ブロックを作成する必要がありますか?
ありがとう!