Sql sumujący...(mysql)

0

Witam!

Posiadam trzy tabele:

pierwsza: palety

pal_wym pal_nwm nr_naczepy nr_boczny
10 2 pw111 123
---------------- ------------------- ---------------- ----------------
3 5 pw111 123
---------------- ------------------- ---------------- ----------------
6 12 pa232 221
---------------- ------------------- ---------------- ----------------
2 5 pa232 221

druga transportery

lech_transporter tyskie_transportery nr_naczepy nr_boczny
3 9 pw111 123
---------------- ------------------- ---------------- ----------------
1 4 pw111 123
---------------- ------------------- ---------------- ----------------
5 7 pa232 221
---------------- ------------------- ---------------- ----------------
3 2 pa232 221

trzecia skrzynki:

skrzynka_p1 skrzynka_p2 nr_naczepy nr_boczny
2 10 pw111 123
---------------- ------------------- ---------------- ----------------
55 3 pw111 123
---------------- ------------------- ---------------- ----------------
6 7 pa232 221
---------------- ------------------- ---------------- ----------------
2 7 pa232 221

Chciałbym stworzyc sqla,który będzie zbierał dane z wszystkich trzech tabel i sumował ilości palet,transporterów,skrzynek według "nr_naczepy" i "nr_boczny" w postaci:

Zeby wynik wyglądał następująco;

pal_wym pal_nwm lech_transporter tyskie_transporter skrzynka_p1 skrzynka_p2 nr_naczepy nr_boczny
13 7 4 13 57 13 pw111 123
---------------- -------------------
7 17 8 9 8 14 pa232 221
---------------- ------------------- ---------------- ------------------- ---------------- ------------------- ---------------- -------------------

Ma ktoś jakiś pomysł;) Z góry dzięki.

0
mariuszkoralczyk napisał(a):

Witam!

Posiadam trzy tabele:

pierwsza: palety

pal_wym pal_nwm nr_naczepy nr_boczny
10 2 pw111 123
---------------- ------------------- ---------------- ----------------
3 5 pw111 123
---------------- ------------------- ---------------- ----------------
6 12 pa232 221
---------------- ------------------- ---------------- ----------------
2 5 pa232 221

druga transportery

lech_transporter tyskie_transportery nr_naczepy nr_boczny
3 9 pw111 123
---------------- ------------------- ---------------- ----------------
1 4 pw111 123
---------------- ------------------- ---------------- ----------------
5 7 pa232 221
---------------- ------------------- ---------------- ----------------
3 2 pa232 221

trzecia skrzynki:

skrzynka_p1 skrzynka_p2 nr_naczepy nr_boczny
2 10 pw111 123
---------------- ------------------- ---------------- ----------------
55 3 pw111 123
---------------- ------------------- ---------------- ----------------
6 7 pa232 221
---------------- ------------------- ---------------- ----------------
2 7 pa232 221

Chciałbym stworzyc sqla,który będzie zbierał dane z wszystkich trzech tabel i sumował ilości palet,transporterów,skrzynek według "nr_naczepy" i "nr_boczny" w postaci:

Zeby wynik wyglądał następująco;

pal_wym pal_nwm lech_transporter tyskie_transporter skrzynka_p1 skrzynka_p2 nr_naczepy nr_boczny
13 7 4 13 57 13 pw111 123
---------------- ------------------- ---------------- ---------------- ---------------- ------------------- ---------------- ----------------
7 17 8 9 8 14 pa232 221
---------------- ------------------- ---------------- ---------------- ---------------- ------------------- ---------------- ----------------

Ma ktoś jakiś pomysł;) Z góry dzięki.

0
select * from (
select distinct nr_naczepy, nr_boczny from palety
union DISTINCT
select distinct nr_naczepy, nr_boczny from palety
union DISTINCT
select distinct nr_naczepy, nr_boczny from palety
) as naczepy left join  (
select SUM(pal_wym), 	sum(pal_nwm), 	nr_naczepy, 	nr_boczny FROM palety group by nr_naczepy, 	nr_boczny ) as sum_panele on naczepy.nr_naczepy=sum_panele.nr_naczepy and naczepy.r_boczny=sum_panele.r_boczny
left join (select sum(_transporter), sub(tyskie_transportery), 	nr_naczepy, 	nr_boczny from transportery grup by nr_naczepy, nr_boczny) as sum_transportery on  naczepy.nr_naczepy=sum_transportery.nr_naczepy and naczepy.r_boczny=sum_transportery.r_boczny

Na szybko i bez testów oraz tylko dwie twoje tabele, mam nadzieje że to nakieruje :)

1

skoro musisz robić tak dziwaczna SQLki, to może warto przeprojektować tabelę? :)

0

pierwszą połowę zapytania można by rozwiązać tworząc tabelę naczepy ;] .... może już jest tylko autor wątku się nie pochwalił ;P

PS: tam jest błąd, oczywiście UNION będzie z 3 różnych tabel nie z tej samej

1 użytkowników online, w tym zalogowanych: 0, gości: 1