返回部分結果後,才報單行子查詢返回多行。
SQL> SELECT /*+ all_rows */AE10.AAB999 AE10_AAB999,
2 201007 START_DATE,
3 201007 END_DATE,
4 AE10.AAB001 AE10_AAB001,
5 (SELECT AAB119
6 FROM ZB21
7 WHERE AAB001 = AE10.AAB001
8 AND AAE100 = '1') PER_NUMBER,
9 (SELECT AAB120
10 FROM ZB21
11 WHERE AAB001 = AE10.AAB001
12 AND AAE100 = '1') TOTAL_BASE,
13 (SELECT AAB120 * 0.03
14 FROM ZB21
15 WHERE AAB001 = AE10.AAB001
16 AND AAE100 = '1') COLLECT_MONEY,
17 (SELECT AAB033
18 FROM ZB21
19 WHERE AAB001 = AE10.AAB001
20 AND AAE100 = '1') COLLECT_TYPE,
21 AE10.AAE044 AE10_AAE044,
22 AE10.AAB019 AE10_AAB019
23 FROM AE10
24 WHERE NOT EXISTS (SELECT 1
25 FROM AB07
26 WHERE AB07.AAZ010 = AE10.AAB001
27 AND AAE002 = 201007
28 AND AAA115 = '0'
29 and aae140 = '21')
30 AND EXISTS (SELECT 1
31 FROM AB02
32 WHERE AAB001 = AE10.AAB001
33 AND AAB051 = '1'
34 AND AAE140 = '21')
35 AND EXISTS (SELECT 1
36 FROM ZB21
37 WHERE AAB001 = AE10.AAB001
38 AND AAE100 = '1'
39 AND AAE041 <= 201007
40 AND NVL(AAE042, 201007) >= 201007);
ERROR:
ORA-01427: single-row subquery returns more than one row
已選擇300行。
已用時間: 00: 00: 02.47
晚上做賬的時候使用者反映程式報錯,擷取到報錯的SQL,在SQLPLUS裡執行結果如上。我一直以為如果有這種錯誤,是執行不會返回結果就報錯,可沒想到都返回了300行了,才報的錯,大家有什麼看法,正常嗎?SQL語句我還在看。
2 201007 START_DATE,
3 201007 END_DATE,
4 AE10.AAB001 AE10_AAB001,
5 (SELECT AAB119
6 FROM ZB21
7 WHERE AAB001 = AE10.AAB001
8 AND AAE100 = '1') PER_NUMBER,
9 (SELECT AAB120
10 FROM ZB21
11 WHERE AAB001 = AE10.AAB001
12 AND AAE100 = '1') TOTAL_BASE,
13 (SELECT AAB120 * 0.03
14 FROM ZB21
15 WHERE AAB001 = AE10.AAB001
16 AND AAE100 = '1') COLLECT_MONEY,
17 (SELECT AAB033
18 FROM ZB21
19 WHERE AAB001 = AE10.AAB001
20 AND AAE100 = '1') COLLECT_TYPE,
21 AE10.AAE044 AE10_AAE044,
22 AE10.AAB019 AE10_AAB019
23 FROM AE10
24 WHERE NOT EXISTS (SELECT 1
25 FROM AB07
26 WHERE AB07.AAZ010 = AE10.AAB001
27 AND AAE002 = 201007
28 AND AAA115 = '0'
29 and aae140 = '21')
30 AND EXISTS (SELECT 1
31 FROM AB02
32 WHERE AAB001 = AE10.AAB001
33 AND AAB051 = '1'
34 AND AAE140 = '21')
35 AND EXISTS (SELECT 1
36 FROM ZB21
37 WHERE AAB001 = AE10.AAB001
38 AND AAE100 = '1'
39 AND AAE041 <= 201007
40 AND NVL(AAE042, 201007) >= 201007);
ERROR:
ORA-01427: single-row subquery returns more than one row
已選擇300行。
已用時間: 00: 00: 02.47
晚上做賬的時候使用者反映程式報錯,擷取到報錯的SQL,在SQLPLUS裡執行結果如上。我一直以為如果有這種錯誤,是執行不會返回結果就報錯,可沒想到都返回了300行了,才報的錯,大家有什麼看法,正常嗎?SQL語句我還在看。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/22034023/viewspace-666768/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- PostgreSQL函式:返回表查詢結果集SQL函式
- JAVA + Oracle儲存過程返回查詢結果集JavaOracle儲存過程
- MyBatis 返回結果MyBatis
- iOS FMDB有返回結果集和無返回結果集iOS
- 分析後sql語句很快返回結果SQL
- 查詢資料庫後是返回ResultSet還是返回Collection? (轉)資料庫
- 在HQL select查詢語句中自定義查詢結果返回的資料型別資料型別
- 關於:查詢資料庫後是返回ResultSet還是返回Collection資料庫
- JAVA資料庫處理(連線,資料查詢,結果集返回)Java資料庫
- MySQL in 查詢,並通過 FIELD 函式按照查詢條件順序返回結果MySql函式
- JavaScript中Typeof返回的結果JavaScript
- AJAX的同步返回結果值
- 動態sql查詢結果多行的處理情況SQL
- mysql中的多行查詢結果合併成一個MySql
- 動態返回結果的檢視
- 如何在非同步結果返回時進行跟蹤非同步
- Mysql-基本練習(10-設定分組條件、查詢結果排序、限制查詢結果返回的數量、TRUNCATE刪除表記錄)MySql排序
- python使用flask接收前端資料,處理後返回結果PythonFlask前端
- SpringBoot分頁查詢 頁碼問題導致返回結果數量為0Spring Boot
- MySQL 按指定 ID 順序返回結果MySql
- Mysql按指定 ID 順序返回結果MySql
- item_get_app資料返回結果APP
- mybatis配置:map查詢空值返回MyBatis
- [踩坑]laravel 獲取一個model查詢結果中不存在的屬性返回NULLLaravelNull
- goroutine併發執行多個任務並依次返回結果Go
- ORDER對查詢結果進行排序排序
- SpringCloud FeignClient呼叫返回結果為null。SpringGCCloudclientNull
- 封裝ResultVO實現統一返回結果封裝
- Oracle中過程/函式返回結果集Oracle函式
- Oracle 儲存過程返回結果集|轉|Oracle儲存過程
- Oracle 儲存過程返回結果集 (轉)Oracle儲存過程
- 用Table變數返回多行資料變數
- NC65對單表單據查詢的結果進行排序排序
- 致板橋:關於"查詢資料庫後是返回ResultSet還是返回Collection?"的幾點問題資料庫
- 模型聯合查詢返回指定欄位模型
- Laravel 手動建立分頁返回物件結果集Laravel物件
- Python 工匠:讓函式返回結果的技巧Python函式
- python中函式如何返回多個結果?Python函式