小编con*_*ner的帖子

当所有子记录满足条件时仅选择父记录

我有两个表 A 和 B,当所有子项(表 B 中)满足条件时,我只需要父项 A 的行。如果 B 中的一行不符合条件,那么我不需要父 A 的行。我想我需要在这里使用存在,但不展示如何使用。

以下是数据表:

表A

Primary Key Level
1   low
2   low
3   high 
4   high 
5   low
Run Code Online (Sandbox Code Playgroud)

表B

Primary Key Phase   Parent Primary Key
1   open    1
2   open    1
3   close   1
4   close   2
5   close   2
6   close   3
7   open    4
8   open    4
9   open    5
10  close   5
Run Code Online (Sandbox Code Playgroud)

我正在尝试的查询:

select * 
from table_a, table_b
where table_a.level = 'low' and
      table_b.phase = 'close' and
      table_a.primary_key=table_b.parent_primary_key …
Run Code Online (Sandbox Code Playgroud)

sql oracle exists

2
推荐指数
1
解决办法
2444
查看次数

如果一条记录包含特定值,如何排除整个组?

这是我的表格:

TableA      
primarykey  Name    Description 
1           John    Male 
2           Josh    Male 
3           Allen   Male 

TableB      
projectid   Name    Category 
1           John    QB
1           John    RB
1           John    WR
2           Josh    QB
2           Josh    WR
3           Allen   QB 
Run Code Online (Sandbox Code Playgroud)

我想要一个查询来组合两个表,但我只想要其中一个记录没有“RB”的记录。

我有一个一般性查询如下

Select * from TableA a, TableB b, where a.primarykey = projectid
Run Code Online (Sandbox Code Playgroud)
projectid   Name    Category    Description
1           John    QB          Male
1           John    RB          Male
1           John    WR          Male
2           Josh    QB          Male
2           Josh    WR          Male
3           Allen   QB          Male
Run Code Online (Sandbox Code Playgroud)

但我不确定如何排除所有包含“RB”的记录。

这就是我想要的结果:

projectid …
Run Code Online (Sandbox Code Playgroud)

sql oracle

2
推荐指数
1
解决办法
437
查看次数

标签 统计

oracle ×2

sql ×2

exists ×1