我有两个表 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) 这是我的表格:
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)