Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/23.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 server 复杂t-sql查询的故障排除策略_Sql Server_Tsql - Fatal编程技术网

Sql server 复杂t-sql查询的故障排除策略

Sql server 复杂t-sql查询的故障排除策略,sql-server,tsql,Sql Server,Tsql,这是我在这里的第一篇文章,虽然我已经在这个网站上很多次了。 我试图找到一个答案,但没有找到一个解决我的问题 我正在处理的T-SQL查询: 选择大约120个字段, 大约有40个联接[其中几个联接包含'Selects'] 不返回任何数据。 我不知道SQL的起源,但它可能有有用的逻辑/连接,并且应该返回数据 对查询进行故障排除/解密的最佳方法是什么 谢谢 遵循建议后,我发现Join语句中缺少了几个语法错误“ON”子句,并且发现了排除数据的连接。第一个是指向未包含在“选择字段”列表中的表。如果有一个表的

这是我在这里的第一篇文章,虽然我已经在这个网站上很多次了。 我试图找到一个答案,但没有找到一个解决我的问题

我正在处理的T-SQL查询:

选择大约120个字段, 大约有40个联接[其中几个联接包含'Selects'] 不返回任何数据。 我不知道SQL的起源,但它可能有有用的逻辑/连接,并且应该返回数据

对查询进行故障排除/解密的最佳方法是什么

谢谢

遵循建议后,我发现Join语句中缺少了几个语法错误“ON”子句,并且发现了排除数据的连接。第一个是指向未包含在“选择字段”列表中的表。如果有一个表的连接,但没有返回任何行,这是一个“问题”还是打算使用该连接排除行?在这一点上,数据本身对我来说是新的,否则我可能不会问这个问题


谢谢

非常简单-一次从/加入一个 如果联接具有select,则测试该select

select cols 
  from table 
 where =...  
然后


构建它,直到得到错误的答案并修复它

您可以使用CTE来降低复杂性并删除子查询连接。但是,您必须理解查询才能完全重构它。CTE在连接部分?我的部分问题是如何理解[破译]。。。对于从哪里开始理解查询并将其组合起来,是否有公认的最佳实践?如何吃大象?一次咬一口,把它分解。把一切都说出来。一次向联接添加一个表。查看返回空结果集的原因。谢谢,@Amir。哈哈@lad2025!:D
select cols 
  from table 
  join table1 
    on 
 where