首页 > 解决方案 > 一个选择不适用于另一个,oracle db

问题描述

所以我的代码是:

select max(SERIAL_NBR) AS RESULT from ttr_voucher
where voucher_typcode = 'VOUCHER' AND SERIAL_NBR LIKE '24%'

结果,我得到一列最大 serialNBR 并且一切正常,然后我只想获得前几个字符 od 结果,我知道我必须使用

SUBSTR(SERIAL_NBR, 1, 3)

但结果当我应用我的更改时,我收到两列:

SELECT SUBSTR(SERIAL_NBR, 1, 3),
(select max(SERIAL_NBR) AS RESULT from ttr_voucher
where voucher_typcode = 'VOUCHER' AND SERIAL_NBR LIKE '24%') 
FROM ttr_voucher

在上面的代码中,“AS RESULT”操作系统不起作用。

结果

如何连接两个选择一个获得最大序列号 nbr 的位置和另一个只获得这个最大序列号的前 3 个字符?

标签: sqloracle

解决方案


SELECT SUBSTR(X.result, 1, 3)from
(
    select max(SERIAL_NBR) AS RESULT from ttr_voucher
    where voucher_typcode = 'VOUCHER' AND SERIAL_NBR LIKE '24%'
) X

推荐阅读