首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > oracle >

这条SQL和小弟我想的不一样

2012-12-18 
这条SQL和我想的不一样!表是这样的[imghttp://my.csdn.net/wolililaile2/album/detail/1133399#][/img]SE

这条SQL和我想的不一样!
表是这样的

[img=http://my.csdn.net/wolililaile2/album/detail/1133399#][/img]


SELECT zal06 FROM zal_file A    
WHERE zal01 = 'cxcq430' AND zal06 IS NOT NULL      
AND zal03 = '2' AND zal07 = 'Y'
AND zal02 = (
SELECT MAX(B.zal02) FROM zal_file B                   
 WHERE B.zal01 = A.zal01 
 AND B.zal03=A.zal03                       
 AND B.zal06=A.zal06  AND B.zal07 = A.zal07
 ) 
 ORDER BY zal02


在子查询中 不是应该返回一个结果吗,但是我发现查出来的结果是对的,不过不太明白,高人指点一下
顺便有什么可以了解oracle的执行顺序
[最优解释]
夺分 走人~
[其他解释]
表的数据图片在

http://my.csdn.net/wolililaile2/album/detail/1133399#
[其他解释]
用max函数是返回一个结果啊,不知你想问啥。。。
[其他解释]
SELECT zal06 FROM zal_file A   
WHERE zal01 = 'cxcq430' AND zal06 IS NOT NULL   
AND zal03 = '2' AND zal07 = 'Y'
AND zal02 = (
SELECT MAX(B.zal02) FROM zal_file B   
 WHERE B.zal01 = A.zal01  
 AND B.zal03=A.zal03   
 AND B.zal06=A.zal06 AND B.zal07 = A.zal07
 )  
 ORDER BY zal02

看楼主的这些条件是从外面传给子查询的,所以,你所谓返回一个结果,应该只是对于符合一条的条件,
并不是整个sql只有一个结果,所以你奇怪的是什么呢?

[其他解释]

引用:
用max函数是返回一个结果啊,不知你想问啥。。。

楼主 还不知 max 是个聚合函数

热点排行