【发布时间】:2020-09-15 03:37:27
【问题描述】:
lk_state 表
id desc
MD Maryland
FL Florida
VA Virginia
NY NewYork
NJ NewJersy
CA California
用户表
user_ID Name Active State
01 AAA 1 MA
02 BBB 1 MD
03 CCC 1 CA
04 DDD 1 NY
05 EEE 1 NJ
06 FFF 1 FL
07 GGG 1 FL
users_groups 表
id group
01 10
02 20
03 20
04 30
05 20
06 10
07 20
我想加入可以输出 lk_state 表中状态的表。条件是只显示用户属于role=20的那些状态
输出应该是
id desc
MD Maryland
FL Florida
NJ NewJersy
CA California
我尝试加入,但它为每个用户和组提供了多行。请帮我提供一个按要求显示的 oracle sql。
【问题讨论】:
-
“我尝试加入,但是......”如果你有显示你尝试了什么,有人可以指出你做错了什么。 @GMB 已经发布了一个可行的解决方案,但是从你自己的尝试中解决会是一个更好的学习体验。
-
因为“users_groups”和“users”表之间存在一对一的关系,并且每个用户都有一个唯一的 state_id,所以加入这些表的结果不能包含每个用户的多行。所以我认为你错误地加入了表格。最好发送您的代码以查找可能的错误。
标签: java sql oracle join left-join