|
| Query med summasion og lidt til... Fra : Lars L. Christensen |
Dato : 27-01-05 06:20 |
|
Hej gutter (og gutinder, for I må også være med)...
Jeg har 2 tabeller:
raw.*
+--------+--------+-------+
| src_as | dst_as | bytes |
+--------+--------+-------+
as_no.*
+----+------+
| as | name |
+----+------+
hvad jeg ønsker er, at src_as og dst_as i raw.* tabellen skal erstattes
med det ekvivalente name fra as_no.* tabellen.
Endeligt bliver hver tænkelig kombination af src_as og dst_as summeret
over bytes (denne del er der styr på)...
mit ønskede resultat skal være noegt i stil med:
+----------------------+----------------------+-------+
| src_as_name = src_as | dst_as_name = dst_as | bytes |
+----------------------+----------------------+-------+
Pt. har jeg følgende sql-streng:
select sum(bytes), src_as, dst_as from raw group by src_as,dst_as
selve sql-strengen burde vise, hvor min udskifning er interessant.
Jeg håber der er nogen der kan hjælpe her.
mvh
lars Christensen
| |
Kristian Damm Jensen (28-01-2005)
| Kommentar Fra : Kristian Damm Jensen |
Dato : 28-01-05 09:38 |
|
Lars L. Christensen wrote:
> Hej gutter (og gutinder, for I må også være med)...
>
> Jeg har 2 tabeller:
>
> raw.*
> +--------+--------+-------+
> | src_as | dst_as | bytes |
> +--------+--------+-------+
>
> as_no.*
> +----+------+
> | as | name |
> +----+------+
>
> hvad jeg ønsker er, at src_as og dst_as i raw.* tabellen skal
erstattes
> med det ekvivalente name fra as_no.* tabellen.
> Endeligt bliver hver tænkelig kombination af src_as og dst_as
summeret
> over bytes (denne del er der styr på)...
>
> mit ønskede resultat skal være noegt i stil med:
> +----------------------+----------------------+-------+
> | src_as_name = src_as | dst_as_name = dst_as | bytes |
> +----------------------+----------------------+-------+
>
> Pt. har jeg følgende sql-streng:
>
> select sum(bytes), src_as, dst_as from raw group by
src_as,dst_as
>
> selve sql-strengen burde vise, hvor min udskifning er interessant.
En klassiker. Du skal joine den samme tabel på i to forskellige
instanser.
select sum(bytes), src.name src_as_name, dst.name dst_as_name
from raw
, as_no src
, as_no dst
where raw.src_as = src.as
and raw.dst_as = dst.as
group by src_as_name, dst_as_name
> Jeg håber der er nogen der kan hjælpe her.
Håber det hjalp!
VH
Kristian
| |
Kaj Julius (30-01-2005)
| Kommentar Fra : Kaj Julius |
Dato : 30-01-05 03:05 |
|
--- SNIP ---
En klassiker. Du skal joine den samme tabel på i to forskellige
instanser.
select sum(bytes), src.name src_as_name, dst.name dst_as_name
from raw
, as_no src
, as_no dst
where raw.src_as = src.as
and raw.dst_as = dst.as
group by src_as_name, dst_as_name
--- SNIP ---
Eller skrevet på en anden måde (som jeg personligt foretrækker, selv om den
selvfølgelig er funktionelt identisk med ovenstående):
SELECT SUM(bytes) AS bytes, src.name AS src_as_name, dst.name AS dst_as_name
FROM raw
INNER JOIN as_no AS src
ON raw.src_as = src.as
INNER JOIN as_no AS dst
ON raw.src_as = dst.as
GROUP BY src_as_name, dst_as_name
| |
|
|