在查询中正确限制我的结果时遇到问题。我有一个用户表,其中包含用户名、密码、名字/姓氏等字段。该字段中的主键是 user_id。我还有一张禁止用户表,其中还有一个主键 user_id。我的查询理想地显示所有用户数据,然后根据他们的 user_id 是否显示在“禁止用户”表中显示他们的“禁止状态”。我目前对此进行的查询如下:
select APEX_ITEM.CHECKBOX(1,gs_users.user_id) checkbox,
"GS_USERS"."USERNAME" as "USERNAME",
"GS_USERS"."FIRST_NAME" as "FIRST_NAME",
"GS_USERS"."LAST_NAME" as "LAST_NAME",
"GS_USERS"."ADMIN_FLAG" as "ADMIN",
"GS_USERS"."EMAIL" as "EMAIL",
CASE
WHEN "GS_USERS"."USER_ID" = "GS_BANNED_USERS"."USER_ID" then 'Banned'
else 'Unbanned'
END status
from
"GS_USERS" "GS_USERS",
"GS_BANNED_USERS" "GS_BANNED_USERS"
不幸的是,这会导致大量重复值。在过去的情况下,我能够使用 ROWID 获得我独特的结果,但我不确定当 case 语句中的自定义列时如何工作。有没有办法得到我想要的结果?