প্রশ্ন:
declare @X xml = '
<item ID = "0"/>
<item ID = "1"/>
<item/>
<item/>';
select I.X.value('@ID', 'int')
from @X.nodes('/item') as I(X);
ফলাফল:
-----------
0
1
NULL
NULL
হত্যা পরিকল্পনা:
উপরের শাখাটি এক্সএমএলকে চারটি সারিতে বিভক্ত করে এবং নীচের শাখাটি গুণকের জন্য মানটি নিয়ে আসে ID
।
আমাকে কী বিজোড় হিসাবে আঘাত করে তা হ'ল স্ট্রিম সমষ্টি অপারেটর থেকে ফিরে আসা সারিগুলির সংখ্যা। ফিল্টার থেকে আসা 2 টি সারি হ'ল এক্সএমএলে ID
প্রথম এবং দ্বিতীয় item
নোডের বৈশিষ্ট্য । স্ট্রিম সমষ্টি চারটি সারি দেয়, প্রতিটি ইনপুট সারির জন্য একটি করে, কার্যকরভাবে ইনার জোড়কে একটি বহিরাগত যোগদানের দিকে পরিণত করে।
এই কি স্ট্রিম সমষ্টি অন্যান্য পরিস্থিতিতেও ঘটে বা এক্সএমএল অনুসন্ধানগুলি করার সময় এটি কিছুটা অদ্ভুতভাবে চলছে?
আমি কোয়েরি পরিকল্পনার এক্সএমএল সংস্করণে কোনও ইঙ্গিত দেখতে পাচ্ছি না যে এই স্ট্রিম সমষ্টিটি আমি আগে যে সমস্ত স্ট্রিম সমষ্টিটি লক্ষ্য করেছি তার চেয়ে আলাদা আচরণ করা উচিত।