मुझे एसक्यूएल कॉम्पैक्ट डेटाबेस मिला है जिसमें आईपी पैकेट हेडर की एक तालिका है। टेबल इस तरह दिखता है:एसक्यूएल पंक्तियों का मिश्रण
Table: PacketHeaders
ID SrcAddress SrcPort DestAddress DestPort Bytes
1 10.0.25.1 255 10.0.25.50 500 64
2 10.0.25.50 500 10.0.25.1 255 80
3 10.0.25.50 500 10.0.25.1 255 16
4 75.48.0.25 387 74.26.9.40 198 72
5 74.26.9.40 198 75.48.0.25 387 64
6 10.0.25.1 255 10.0.25.50 500 48
मैं 'बातचीत' एक स्थानीय नेटवर्क के पार चल रहा है को दिखाने के लिए एक प्रश्न प्रदर्शन करने की जरूरत है। ए -> बी से जा रहे पैकेट एक ही वार्तालाप का हिस्सा हैं क्योंकि बी -> ए से चलने वाले पैकेट चलने वाली बातचीत को दिखाने के लिए मुझे एक क्वेरी करने की आवश्यकता है।
Returned Query:
SrcAddress SrcPort DestAddress DestPort TotalBytes BytesA->B BytesB->A
10.0.25.1 255 10.0.25.50 500 208 112 96
75.48.0.25 387 74.26.9.40 198 136 72 64
आप देख सकते हैं मैं (या क्वेरी की श्रृंखला) क्वेरी की जरूरत है कि ए पहचान करने के लिए> बी बी के रूप में ही> एक और टूटने है: मूल रूप से मैं क्या जरूरत है कुछ है कि इस तरह दिखता है है बाइट तदनुसार मायने रखता है। मैं किसी भी माध्यम से एक एसक्यूएल गुरु नहीं हूं लेकिन इस पर किसी भी मदद की सराहना की जाएगी।
मानता है कि प्रत्येक पथ में मिलान करने वाली विपरीत प्रविष्टि होती है। इसलिए इसे सभी को एक बाहरी जॉइन होने की आवश्यकता है, जिसका मतलब है कि आपको ISNULL (T1.SrcAddress, T2.DestAddress), आदि द्वारा ग्रुप करने की आवश्यकता होगी। – MatBailie
एक संपादन ने बाहरी ग्रुप बाय इत्यादि को हटा दिया है।यह अभी भी केवल तभी काम करता है जब प्रत्येक पैकेट विपरीत दिशा में जा रहे पैकेट से मेल खाता हो। (लेकिन अगर यह स्थिति सच है, तो यह काम करता है, मुझे लगता है ...) – MatBailie
यह केवल 2-तरफा बातचीत के लिए काम करता है। सभी बातचीत 2-तरफा नहीं होगी। मैं इसे कम करने के लिए शामिल कैसे संशोधित कर सकता हूं? – lumberjack4