韭菜盒子123 2022-11-17 15:22 采纳率: 100%
浏览 2
已结题

在函数处理中嵌套使用笛卡尔积的用法

		select 
			a.编号
			,a.编码
			,a.年度
			,count(*) 级别
			,len(编码) - isnull(
				(select max(len([父级编码]))
				from 层级表 b
				where a.编码 = b.编码 and a.编号=b.编号
				and a.编码 <> b.父级编码
				) ,0) 本级长度

		from 层级表 a
		
		group by a.编号,a.年度,a.编码

这一句,在取本级长度字段时,isnull 函数里嵌套了一次子查询

这里很明显是出现了一次a表和b表的笛卡尔积

是这样函数中嵌套的写法里会固定出现吗

如果这样的话,单纯的嵌套查询为什么没有笛卡尔积呢

  • 写回答

0条回答 默认 最新

    报告相同问题?

    问题事件

    • 系统已结题 11月25日
    • 创建了问题 11月17日