久久久久久久av_日韩在线中文_看一级毛片视频_日本精品二区_成人深夜福利视频_武道仙尊动漫在线观看

為什么這個 sql 使用 union all 沒有返回任何數據

why this sql used union all returned no data(為什么這個 sql 使用 union all 沒有返回任何數據)
本文介紹了為什么這個 sql 使用 union all 沒有返回任何數據的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!

問題描述

限時送ChatGPT賬號..

sql 1st 的結果:

the result of sql 1st:

select p1.t1, p2.t2, p2.t3 from 
(select 'A' as t1,'' as t2,'' as t3 from dual ) p1 left join
(select '' as t1, '' as t2, '' as t3 from dual where 1=2) p2 on p1.t1 = p2.t1

A   NULL    NULL

sql 2nd的結果:

the result of sql 2nd:

select p1.t1, p2.t2, p2.t3 from 
(select 'B' as t1,'' as t2,'' as t3 from dual ) p1 left join
(select '' as t1, '' as t2, '' as t3 from dual where 1=2) p2 on p1.t1 = p2.t1

B   NULL    NULL

如果我將 sql 的所有這兩個部分聯合起來,我期望的 sql 是:

if I union all these two part of sql, my expected sql are:

A    NULL    NULL
B    NULL    NULL

但我沒有得到任何結果.

but I get no result .

sql如下:

select p1.t1, p2.t2, p2.t3 from 
(select 'A' as t1,'' as t2,'' as t3 from dual ) p1 left join
(select '' as t1, '' as t2, '' as t3 from dual where 1=2) p2 on p1.t1 = p2.t1
union all
select p1.t1, p2.t2, p2.t3 from 
(select 'B' as t1,'' as t2,'' as t3 from dual ) p1 left join
(select '' as t1, '' as t2, '' as t3 from dual where 1=2) p2 on p1.t1 = p2.t1

我在 oracle 上測試了這個 sql.我想知道為什么結果不像我的預期.順便說一句,如果使用union而不是union all,結果和預期的一樣.

I tested this sql on oracle. I want to know why the result is not like my expected. by the way, if use union instead of union all, the result is just like expected.

推薦答案

您還沒有說明您在哪個版本上遇到此問題,但 Gordon Linoff 在運行 11.2.0.2 的 SQL Fiddle 上進行了復制,正如其他人所說它在 10g 和 11.2.0.3 中沒有出現,因此認為您可能也在 11.2.0.2 上似乎是合理的.

You haven't said which version you're encountering this on, but Gordon Linoff reproduced on SQL Fiddle which is running 11.2.0.2, and as others have said it's not seen in 10g and 11.2.0.3, so it seems reasonable to think you might be on 11.2.0.2 as well.

在這種情況下,這看起來與錯誤 12336962 相同.如果您可以訪問 Oracle 支持,您(或您的 DBA)可以查看它,但我無法重現它在這里所說的內容,即使它是一個已發布的錯誤.運行您的查詢和錯誤報告中的示例會產生相同的結果,并且在兩種情況下從 union all 更改為 union 都會產生正確的結果.不過,您可能想要提出服務請求以確認這一點.

In which case, this looks identical to bug 12336962. If you have access to Oracle Support you (or your DBA) can look that up, but I can't reproduce what it says here, even though it's a published bug. Running your query and the example from the bug report produce the same results, and in both cases changing from union all to union produces correct results. You might want to raise a service request to get that confirmed though.

該錯誤已在 11.2.0.3 補丁集中修復 - 我不確定我是否真的應該分享它,但它已經在這里發布 - 所以修補可能是你最好的選擇,如果你提出 SR,Oracle 可能會建議你這樣做.如有疑問,請直接詢問 Oracle.

That bug is fixed in the 11.2.0.3 patch set - I'm not sure I'm really supposed to even share that, but it's already published here - so patching up might be your best bet, and Oracle might suggest that if you do raise an SR. If in doubt, ask Oracle directly.

這篇關于為什么這個 sql 使用 union all 沒有返回任何數據的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網!

【網站聲明】本站部分內容來源于互聯網,旨在幫助大家更快的解決問題,如果有圖片或者內容侵犯了您的權益,請聯系我們刪除處理,感謝您的支持!

相關文檔推薦

What SQL Server Datatype Should I Use To Store A Byte[](我應該使用什么 SQL Server 數據類型來存儲字節 [])
Interpreting type codes in sys.objects in SQL Server(解釋 SQL Server 中 sys.objects 中的類型代碼)
Typeorm Does not return all data(Typeorm 不返回所有數據)
Typeorm .loadRelationCountAndMap returns zeros(Typeorm .loadRelationCountAndMap 返回零)
How to convert #39;2016-07-01 01:12:22 PM#39; to #39;2016-07-01 13:12:22#39; hour format?(如何將“2016-07-01 01:12:22 PM轉換為“2016-07-01 13:12:22小時格式?)
MS SQL: Should ISDATE() Return quot;1quot; when Cannot Cast as Date?(MS SQL:ISDATE() 是否應該返回“1?什么時候不能投射為日期?)
主站蜘蛛池模板: 黄色在线免费观看视频网站 | 中国黄色毛片视频 | 日本二区在线观看 | 九九精品在线 | 欧美日韩亚洲一区 | 搞av.com| 欧美日韩亚洲三区 | 亚洲导航深夜福利涩涩屋 | 国产精品成人一区二区 | 久草视频在线播放 | 精品国产一区二区三区久久久蜜月 | 欧美日韩综合精品 | 亚洲成av人片在线观看无码 | 伊人网综合 | 成人av激情 | 日韩成人精品视频 | 国产精品日韩一区二区 | 99自拍视频 | 国产综合精品 | 爱爱视频在线观看 | 久久精品欧美一区二区三区不卡 | 欧美日韩久久精品 | 日韩美女一区二区三区在线观看 | 99精品国产一区二区三区 | 嫩草懂你的影院入口 | 精品日韩一区二区三区av动图 | 亚洲一区二区av | 精品久久久网站 | 亚洲一区日韩 | 日韩久久精品 | 国产一区二区欧美 | 久久久久91 | 久草青青草 | 高清黄色毛片 | 国产一区二区精品在线 | 久久久妇女国产精品影视 | 在线中文字幕av | 久久日韩精品一区二区三区 | 亚洲国产一区二区三区在线观看 | 特级黄一级播放 | 视频一区在线 |