sql - 返回多行的子查询
问题描述
我有一个表 REGULAR_TAB 具有以下值-
VALUE_DEFN_ID TYPE
-------------------------------------
15 US_REGULAR_RATE
16 US_REGULAR_RATE
18 CA_FILING_STATUS
REGULAR_RANGE 表
VALUE_DEFN_ID VALUE
----------------------------------
15 1.1
16 1.2
18 6
我创建了一个查询,其中我使用以下查询作为子查询。类似于 -
(select value
from REGULAR_TAB TAB,
REGULAR_RANGE RANGE
WHERE TAB.VALUE_DEFN_ID = RANGE.VALUE_DEFN_ID
AND TAB.TYPE = 'US_REGULAR_RATE')
这给了我两个值,因此不起作用。有没有办法可以修改子查询,以便我可以在每个中同时包含 15 和 16 个值。如果我使用 ROWNUM = 1,它将随机选择第一行,但我希望它被定义为始终是第一行,即 15 在子查询顺序中排在第一位,然后是 16 .....
解决方案
您可以通过ROWNUM
inOracle
和LIMIT,OFFSET
in实现此目的MySQL
。
Oracle
oracle
在这里,我通过使用共享了简单的查询,OFFSET & ROWS
select value
from REGULAR_TAB TAB,
REGULAR_RANGE RANGE
WHERE TAB.VALUE_DEFN_ID = RANGE.VALUE_DEFN_ID
AND TAB.TYPE = 'US_REGULAR_RATE' ORDER BY value OFFSET 0 ROWS FETCH NEXT 1 ROWS ONLY
同样对于MySQL
,我与
Order by
andLimit
子句共享查询。
MYSQL
select value
from REGULAR_TAB TAB,
REGULAR_RANGE RANGE
WHERE TAB.VALUE_DEFN_ID = RANGE.VALUE_DEFN_ID
AND TAB.TYPE = 'US_REGULAR_RATE' order by value limit 1
这将对您有所帮助。
推荐阅读
- java - 将元素复制到数组
- c++ - 无法使用 sublime text 和 mingw 设置 C++ 环境
- android - Firebase Phone Auth is not working version 20.0.0 in android
- sql - 为数据库对象自动生成脚本
- python - 如何从输入字符串中匹配并打印连续的反斜杠和破折号(\-\-\-\-)?
- ios - 我如何在苹果商店升级 ios Flutter 应用程序?
- accessor - 使用 mutators 和 accessor 时的 Laravel livewire 问题
- javascript - Animate on scroll using react.js
- c# - 控制台应用程序的温度提示用户?
- python - Firebase 身份验证 - 进行远程服务调用时出现未知错误