有没有简单的方法来重新创建此声明?或者我可以在我的数据库中查找示例?因为目前我不明白它究竟是做什么的。我想我理解了第一个in
,但我不知道为什么有两个in
条款的PROJECTS为什么第二个例子与第一个例子不同。提前谢谢。
select usernumber as usrnr from DOCUMENTS
where CompanyIndex in (
select CompanyIndex
from DOCUMENTS
where DocumentType='3'
and ProjectsIndex in (select Index
from PROJECTS where
Projectnumber = 209806)
)
and ProjectsIndex in (
select Index
from PROJECTS
where Projectnumber = 209806
)
and DocumentType = '2'
我不明白为什么它与此不一样
select ad1 as AD1Nr from DOCUMENTS
where CompanyIndex in
(
select CompanyIndex
from DOCUMENTS
where DocumentType='3'
and ProjectsIndex in (select Index
from PROJECTS
where Projectnumber = 209806)
and DocumentType = '2')
答案 0 :(得分:2)
我已重新格式化代码以显示结构。
现在明显不同了:条件DocumentType = '2'
位于第二个样本的内部选择内,但位于第一个样本的外部。
(这就是为什么有点强迫性的格式化并不是一种负面特征。)