我是靠谱客的博主 温柔世界,这篇文章主要介绍Sqlserver INNER JOIN 查询出错排查,现在分享给大家,希望可以做个参考。


   SELECT COUNT(*) AS totalcount1 FROM [CXHDJ].[dbo].T_Scan_Code WHERE mo = 'WO09941_2_IG_1' --总数705行
   SELECT COUNT(*) AS totalcount2 FROM [CXHDJ].[dbo].T_JZ_CenerateBarcode WHERE mo = 'WO09941_2_IG_1' --总数705行
   ---- 内联查询 两个条件 返回 705 行
   SELECT * FROM  (SELECT mo,san_barcode,mes_barcode FROM [CXHDJ].[dbo].[T_Scan_Code] WHERE mo = 'WO09941_2_IG_1') tsc
    INNER JOIN (SELECT mo,jz_barcode FROM dbo.T_JZ_CenerateBarcode ) tjc
   ON tjc.mo = tsc.mo AND tsc.san_barcode=tjc.jz_barcode  WHERE tjc.mo='WO09941_2_IG_1'
   
  /*** 内联查询 一个条件 返回 497025 行受影响) 705*705 =497025 ????
  * 内联查询必须保证on条件 是一对一,如果是一对多 则会出现 705*705=497025
  * 因为 根据左边一行记录的mo字段进行查询时,右边表这个mo有705行记录
  **/
   SELECT * FROM  (SELECT mo,san_barcode,mes_barcode FROM [CXHDJ].[dbo].[T_Scan_Code]) tsc
    INNER JOIN (SELECT mo,jz_barcode FROM dbo.T_JZ_CenerateBarcode ) tjc
   ON tjc.mo = tsc.mo  WHERE tjc.mo='WO09941_2_IG_1'

最后

以上就是温柔世界最近收集整理的关于Sqlserver INNER JOIN 查询出错排查的全部内容,更多相关Sqlserver内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(66)

评论列表共有 0 条评论

立即
投稿
返回
顶部