Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 检查子查询中的两个约束_Sql_Subquery - Fatal编程技术网

Sql 检查子查询中的两个约束

Sql 检查子查询中的两个约束,sql,subquery,Sql,Subquery,我有两张这样的桌子 第一桌 姓名年龄区 AAA 20北 BBB 21南部 CCC 19西 及 次要的 姓名年龄区 ZZZ 19北 YYY 20南部 XXX 21北 WWW.24北 北纬20度 UUU 20西 所以我的目标是从第一个表中得到第一个表的第一行名称,即“AAA”,并从第二个表中找到匹配项,这些表中的人居住在同一个地区,年龄等于或大于一岁,或小于一岁,即第一个表中的年龄=20,年龄=19,ane=21 为此,我编写了这样一个查询 选择* 从第二张桌子 其中年龄=从第一状态中选择年龄,其中

我有两张这样的桌子

第一桌

姓名年龄区

AAA 20北

BBB 21南部

CCC 19西

次要的

姓名年龄区

ZZZ 19北

YYY 20南部

XXX 21北

WWW.24北

北纬20度

UUU 20西

所以我的目标是从第一个表中得到第一个表的第一行名称,即“AAA”,并从第二个表中找到匹配项,这些表中的人居住在同一个地区,年龄等于或大于一岁,或小于一岁,即第一个表中的年龄=20,年龄=19,ane=21

为此,我编写了这样一个查询

选择*

从第二张桌子

其中年龄=从第一状态中选择年龄,其中Name='AAA'或

  Age+1=(SELECT Age FROM FristTatle WHERE Name='AAA') OR

  Age-1=(SELECT Age FROM FristTatle WHERE Name='AAA')

  AND

  District=(SELECT District FROM FirstTable WHERE Name='AAA')
但是这个返回的名字是在不同地区返回YYY和UUU的人。我的查询有什么问题吗

select * 
from FirstTable
inner join SecondTable
on SecondTable.District = FirstTable.District And
(SecondTable.Age - FirstTable.Age) between -1 and 1
where FirstTable.Name = 'AAA';
应该这样做