久久久久久久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?什么時候不能投射為日期?)
主站蜘蛛池模板: 久久i | 国产精久久久久久久妇剪断 | 日韩高清成人 | 91麻豆精品国产91久久久更新资源速度超快 | 91精品久久久 | 亚洲精品中文字幕在线 | 亚洲一区久久 | 麻豆毛片 | 欧美一级片 | 97国产精品视频 | 在线不卡视频 | 99精品国产一区二区青青牛奶 | 欧美区精品 | 国产精品久久久久久 | 超碰伊人 | 久久久妇女国产精品影视 | 欧美xxxx色视频在线观看免费 | 最新午夜综合福利视频 | 国产免费观看一级国产 | 久久久久国产精品一区 | 一区二区三区 在线 | 亚洲一区二区三区视频 | 蜜桃精品视频在线 | 国产羞羞视频在线观看 | 亚洲高清一区二区三区 | 男女羞羞视频大全 | 久在线精品视频 | 中文字幕精品一区二区三区在线 | 午夜精品导航 | 亚洲精品乱码久久久久久9色 | 日韩精品在线观看免费 | 亚洲综合色| 国产日韩91 | 久久免费视频2 | 亚洲精品66 | 国产女人第一次做爰毛片 | 免费色网址 | v亚洲 | 国产精品久久久久久久久久久久 | av一级毛片 | 久久久久国产精品一区二区 |