哪个d大佬来救救这段sql

image.png

==========================

(select distinct jjdSon.kh  from  [dbo].[Vw_byyfjdd]  jjdSon  where jjdSon.gxmc =  '打版提单' )  数据 : 

image.png

=========================================

select* from [dbo].[Vw_byyfjdd]  数据 : 

image.png

大佬们忽略字段名...

==================================

查找VW_byyfjdd 视图内存在 打版提单 (gxmc = '打版提单') 的款号,一个款号会有很多gxmc

SQL testAI01 发布于 2023-4-21 13:58 (编辑于 2023-4-21 14:04)
1min目标场景问卷 立即参与
回答问题
悬赏:0 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共4回答
最佳回答
0
Z4u3z1Lv6专家互助
发布于2023-4-21 14:03

没写join 方式 产生笛卡尔积 1025*7942

image.png

image.png

最佳回答
0
百煮味香Lv5初级互助
发布于2023-4-21 14:01

?需求都不说谁能帮你 到底要干嘛

最佳回答
0
用户k6280494Lv6资深互助
发布于2023-4-21 14:06

select* from [dbo].[Vw_byyfjdd] a

left jion (select distinct jjdSon.kh  from  [dbo].[Vw_byyfjdd]  jjdSon  where jjdSon.gxmc =  '打版提单' ) b on a.kh=b.kh

最佳回答
0
qiqits1984Lv6中级互助
发布于2023-4-21 14:08

正常,from a ,b where  a.id = b.id 有一个关联条件吧,你 where 1=1 产生 笛卡尔积》 n*n  是不是这么回事?

换成left join 连接方式

with a as 

(select distinct jjdSon.kh  from  [dbo].[Vw_byyfjdd]  jjdSon  where jjdSon.gxmc =  '打版提单' ) 

select  * from a 

left join  select* from [dbo].[Vw_byyfjdd]  jdd on jdd.kh = a.kh

where 

过滤日期

image.png

  • 3关注人数
  • 309浏览人数
  • 最后回答于:2023-4-21 14:08
    请选择关闭问题的原因
    确定 取消
    返回顶部