返回部分結果後,才報單行子查詢返回多行。
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函式
- MyBatis 返回結果MyBatis
- iOS FMDB有返回結果集和無返回結果集iOS
- springboot返回結果包裝統一返回格式Spring Boot
- Python返回多個結果Python
- SpringBoot分頁查詢 頁碼問題導致返回結果數量為0Spring Boot
- JavaScript中Typeof返回的結果JavaScript
- 通用結果類用於返回響應結果
- mybatis配置:map查詢空值返回MyBatis
- 如何在非同步結果返回時進行跟蹤非同步
- python使用flask接收前端資料,處理後返回結果PythonFlask前端
- 全域性統一返回結果類
- 判斷 ORM 返回結果為空ORM
- SpringCloud FeignClient呼叫返回結果為null。SpringGCCloudclientNull
- Mysql-基本練習(10-設定分組條件、查詢結果排序、限制查詢結果返回的數量、TRUNCATE刪除表記錄)MySql排序
- 模型聯合查詢返回指定欄位模型
- [20190126]從sqlplus執行結果返回bash shell變數.txtSQL變數
- [踩坑]laravel 獲取一個model查詢結果中不存在的屬性返回NULLLaravelNull
- Solon 統一的返回結果調整
- fiddler 修改請求介面的返回結果
- item_get_app資料返回結果APP
- MySQL 按指定 ID 順序返回結果MySql
- Mysql按指定 ID 順序返回結果MySql
- easyexcel多sheet多執行緒匯入示例,獲取所以執行緒執行結果後返回Excel執行緒
- MySQL Connector/Python 查詢如何返回欄位名MySqlPython
- MongoDB(13)- 查詢操作返回指定的欄位MongoDB
- NC65對單表單據查詢的結果進行排序排序
- orcale 中查詢多行 後合併到一行顯示
- goroutine併發執行多個任務並依次返回結果Go
- ORDER對查詢結果進行排序排序
- Java根據前端返回的欄位名進行查詢資料Java前端
- Python 工匠:讓函式返回結果的技巧Python函式
- 統一返回結果狀態資訊類
- Gin 框架 JSON 格式返回結果的使用方式框架JSON
- 封裝ResultVO實現統一返回結果封裝
- python中函式如何返回多個結果?Python函式
- vim下多行查詢替換簡單命令
- 查詢連結串列中倒數第k(k為正整數)個位置上的結點,查詢成功輸出該結點的data值,並返回1,否則只返回0
- 尋找寫程式碼感覺(六)之列表查詢介面開發及返回結果的統一處理