У меня есть SQL Compact Database, которая содержит таблицу заголовков IP-пакетов. Таблица выглядит так:
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
Мне нужно выполнить запрос, чтобы показывать "разговоры" в локальной сети. Пакеты, идущие от A → B, являются частью тех же самых разговоров, что и пакеты, идущие от B → A. Мне нужно выполнить запрос, чтобы показать текущие разговоры. В основном мне нужно что-то похожее на это:
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
Как вы можете видеть, мне нужен запрос (или серия запросов), чтобы распознать, что A- > B совпадает с B- > A и соответственно разбить количество байтов. Я не являюсь гуру SQL любыми способами, но любая помощь по этому поводу будет очень признательна.