Oracle單行子查詢返回多行結(jié)果的問題解決
前言
我在日常開發(fā)中經(jīng)常需要往原先的sql上增加子查詢,使得程序能夠顯示新的相關內(nèi)容,但是有時也會出現(xiàn)單行子查詢返回多行結(jié)果的問題
有些時候是因為關聯(lián)關系沒有寫到位,而也有些是特殊情況,需要特殊處理
以該sql為新增的子查詢
select a001 from a where a001=c001 #sql查詢結(jié)果 A張三 B李四 C王五
以下是我最近總結(jié)的處理方式
一、只顯示一個結(jié)果
子查詢有多個結(jié)果,且選擇其中任何一個對于數(shù)據(jù)都沒有影響的情況下,那就篩選出其中一個輸出
select * from (select a001 from a where a001=c001 order a001) where rownum=1 #sql查詢結(jié)果 A張三
二、使用LISTAGG
listagg()函數(shù)可以實現(xiàn)多列記錄聚合為一條記錄
select listadd(a001,',') within group (order by a001) from a where a001=c001 #sql查詢結(jié)果 A張三,B李四,C王五
總結(jié)
到此這篇關于Oracle單行子查詢返回多行結(jié)果問題解決的文章就介紹到這了,更多相關Oracle單行子查詢返回多行內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Oracle創(chuàng)建自增表分區(qū)之按月、按天自增表分區(qū)步驟詳解
這篇文章主要給大家介紹了關于Oracle創(chuàng)建自增表分區(qū)之按月、按天自增表分區(qū)的相關資料,Oracle表對數(shù)據(jù)進行月度分區(qū)是一種將數(shù)據(jù)分組的有效方法,此方法是將數(shù)據(jù)根據(jù)它們所屬時間段將其存儲為不同分區(qū),需要的朋友可以參考下2023-11-11Oracle導出導入表結(jié)構(gòu)操作實戰(zhàn)記錄
在日常數(shù)據(jù)庫維護中,經(jīng)常會遇到導出數(shù)據(jù)表的需求,下面這篇文章主要給大家介紹了關于Oracle導出導入表結(jié)構(gòu)操作的相關資料,文中通過圖文以及實例代碼介紹的非常詳細,需要的朋友可以參考下2022-02-02Oracle數(shù)據(jù)庫的啟動和關閉順序?qū)嵗v解
這篇文章主要介紹了Oracle數(shù)據(jù)庫的啟動和關閉順序?qū)嵗v解的相關資料,非常不錯,具有參考借鑒價值,需要的朋友可以參考下2016-07-07Linux環(huán)境下Oracle數(shù)據(jù)庫重啟詳細步驟
這篇文章主要給大家介紹了關于Linux環(huán)境下Oracle數(shù)據(jù)庫重啟的詳細步驟,oracle在linux下重啟,有多種方式可選擇,文中通過代碼介紹的非常詳細,需要的朋友可以參考下2024-06-06Oracle數(shù)據(jù)庫創(chuàng)建存儲過程的示例詳解
這篇文章主要介紹了Oracle數(shù)據(jù)庫創(chuàng)建存儲過程的示例詳解,存儲過程是事先經(jīng)過編譯并存儲在數(shù)據(jù)庫中的一段SQL語句的集合,調(diào)用存儲過程可以簡化應用開發(fā)人員的很多工作。對此感興趣可以了解一下2020-07-07解決Oracle安裝遇到Enterprise Manager配置失敗問題
這篇文章主要介紹了Oracle安裝遇到Enterprise Manager配置失敗問題,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-12-12oracle創(chuàng)建刪除用戶示例分享(oracle刪除用戶命令及授權(quán))
這篇文章主要介紹了oracle創(chuàng)建刪除用戶示例還有oracle刪除用戶命令及授權(quán)的使用,需要的朋友可以參考下2014-03-03