pan*_*fel 0 sql oracle join distinct
我在Oracle SQL中有一个问题.
为了简化我的问题,假设我有两个表:
TAB1: TAB2:
Usr Fruit Fruit Calories
1 A A 100
1 A B 200
1 A C 150
1 C D 400
1 C E 50
2 A
2 A
2 E
Run Code Online (Sandbox Code Playgroud)
在TAB1中有双重条目非常重要.现在我想知道usr的卡路里1.但是加入两个表
SELECT TAB2.calories from TAB1
JOIN TAB2 ON TAB1.Fruit = TAB2.Fruit
WHERE TAB1.Usr = 1;
Run Code Online (Sandbox Code Playgroud)
我得到双重条目的双重结果.我当然可以在标题中使用distinct,但是有可能直接在连接中区分值(到A和C)吗?我相信这会改善我(更大)的表现.
谢谢!
我是半连接的忠实粉丝.对于这么小的表格来说,这没关系,但对于较大的表格,它可以产生很大的不同:
select
tab2.calories
from tab2
where exists (
select null
from tab1
where tab1.fruit = tab2.fruit and tab1.usr = 1
)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
85 次 |
| 最近记录: |