Ciao ragazzi, ho due tabelle
a (id, nome_campo) e
b (ide, nome_campo),
dove id e ide sono identificativi univoci che conteggiano il numero di righe di ciascuna tabella.
Devo calcolare la formula
sqrt(pow((a.nome_campo-b.nome_campo),2))
tra il primo records di b e tutti i records di a, poi tra il secondo records di b e e tutti i records di a; poi tra il terzo records di b e tutti i records di a e così via..fino a quando si giunge all'ultimo record di b.
Supponendo che la tabella a abbia 40 records e la tabella b abbia 30 records ho pensato di realizzare ciò col ciclo for ma ci riesco solo in parte, nel seguente modo:
codice:
create procedure calcolo()
BEGIN
DECLARE id INT;
SET id = 1;
loop_label: LOOP
select ide, sqrt(pow((a.nome_campo-b.nome_campo),2)) as risultato
from nome_tabella1 as a, nome_tabella2 as b
where id=1 and ide=1;
SET id = id + 1;
IF id= 40 THEN
LEAVE loop_label;
END IF;
END LOOP;
END
In questo modo ottengo 40 risultati (cioè l'applicazione della formula tra il primo records di b e tutti i records di A). Dovrei ciclare però anche sulla variabile ide per fare in modo che ciò avvenga, considerando il secondo record di b, e così via..
Non so se è chiaro.
Potete aiutarmi?