Topic: Pubblico - Composto da 56 Posts di 3 Utenti.
| 18 Marzo, 2011 12:21 | #1 | ||
|---|---|---|---|
|
Salve a tutti .. bellissimo forum !!!! Sto muovendo i primi passi nel mondo di MYSql .. però non riesco a fare un punto di un esercizio .. Dopo aver creato una tabella con i campi moltiplicatore, moltiplicando e prodotto ( e questo è fatto ) .. bisogna Riempire le colonne moltiplicatore e moltiplicando, in modo che siano presenti tutte le possibi coppie di numeri tra 0 e 100 ( es. 1*1 ; 1*2 ... fino a 0*100 e così per tutti gli altri numeri da 1 a 100 ) ... aiuto!!!! |
|||
| 18 Marzo, 2011 13:35 | #2 | ||
|---|---|---|---|
|
Ciao root1, benvenuto su MySQL Italia :) Salvatore DC La mente è come un paracadute: funziona solo se si apre. A.Einstein. |
|||
| 18 Marzo, 2011 13:36 | #3 | ||
|---|---|---|---|
|
Ciao e benvenuto. Ti basta un banale cross join. edit. 1mysql> create table tab (i tinyint) engine = myisam; 2Query OK, 0 rows affected (0.01 sec) 3 4mysql> insert into tab values (0),(1),(2),(3),(4),(5); 5Query OK, 6 rows affected (0.00 sec) 6Records: 6 Duplicates: 0 Warnings: 0 7 8mysql> select t1.i,t2.i from tab as t1 cross join tab as t2 9+------+------+ 10| i | i | 11+------+------+ 12| 0 | 0 | 13| 1 | 0 | 14| 2 | 0 | 15| 3 | 0 | 16| 4 | 0 | 17| 5 | 0 | 18| 0 | 1 | 19| 1 | 1 | 20| 2 | 1 | 21| 3 | 1 | 22| 4 | 1 | 23| 5 | 1 | 24| 0 | 2 | 25| 1 | 2 | 26| 2 | 2 | 27| 3 | 2 | 28| 4 | 2 | 29| 5 | 2 | 30| 0 | 3 | 31| 1 | 3 | 32| 2 | 3 | 33| 3 | 3 | 34| 4 | 3 | 35| 5 | 3 | 36| 0 | 4 | 37| 1 | 4 | 38| 2 | 4 | 39| 3 | 4 | 40| 4 | 4 | 41| 5 | 4 | 42| 0 | 5 | 43| 1 | 5 | 44| 2 | 5 | 45| 3 | 5 | 46| 4 | 5 | 47| 5 | 5 | 48+------+------+ 4936 rows in set (0.00 sec)
Ultima modifica 18 Marzo, 2011 13:41 di john_revelator No PVT tecnici. Non rispondo nemmeno. Usate il forum. |
|||
| 19 Marzo, 2011 08:33 | #4 | ||
|---|---|---|---|
|
re-verse: Ciao root1, benvenuto su MySQL Italia :) l'esercizio lo devo sviluppare tramite lo stored procedure MySql. John revelator io intendevo tipo tabella pitagorica
Ultima modifica 19 Marzo, 2011 08:53 di root1 |
|||
| 19 Marzo, 2011 10:40 | #5 | ||
|---|---|---|---|
|
A me non costa niente postarti la soluzione bella e pronta ma penso che sia nel tuo interesse metterci del tuo. No PVT tecnici. Non rispondo nemmeno. Usate il forum. |
|||
| 19 Marzo, 2011 10:56 | #6 | ||
|---|---|---|---|
|
Grazie john .... Allora .... Successivamente l'esercizio chiedeva di riempire le due colonne moltiplicando e moltiplicatore In modo che siano presenti tutte le possibili coppie tra zero e cento ( come in una normale tabella pitagorica)... qui iniziano i guai ... HO provato a fare così : ALTER TABLE compito_uno CHANGE mpltiplicatore moltiplicatore INT AUTO_INCREMENT x poter incrementare questa colonna ma non so se ho sbagliato e nn so come andare avanti nel compito |
|||
| 19 Marzo, 2011 11:01 | #7 | ||
|---|---|---|---|
|
Mah, io molto banalmente l'ho risolta così 1delimiter // 2drop procedure if exists pitagora// 3create procedure pitagora() 4begin 5declare i tinyint default 1; 6declare j tinyint default 2; 7declare sSQL varchar(200) default 'select i,'; 8drop temporary table if exists t; 9create temporary table t(i tinyint); 10while i<=10 do 11insert into t values (i); 12set i = i + 1; 13end while; 14while j <= 10 do 15set sSQL = concat(sSQL,'i*',j,','); 16set j = j + 1; 17end while; 18set sSQL = substring(sSQL,1,char_length(sSQL) - 1); 19set @sSQL = concat(sSQL,' from t;'); 20prepare stmt from @sSQL; 21execute stmt; 22deallocate prepare stmt; 23end; // 24delimiter ; 25call pitagora(); Risultato: 1+------+------+------+------+------+------+------+------+------+------+ 2| i | i*2 | i*3 | i*4 | i*5 | i*6 | i*7 | i*8 | i*9 | i*10 | 3+------+------+------+------+------+------+------+------+------+------+ 4| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 5| 2 | 4 | 6 | 8 | 10 | 12 | 14 | 16 | 18 | 20 | 6| 3 | 6 | 9 | 12 | 15 | 18 | 21 | 24 | 27 | 30 | 7| 4 | 8 | 12 | 16 | 20 | 24 | 28 | 32 | 36 | 40 | 8| 5 | 10 | 15 | 20 | 25 | 30 | 35 | 40 | 45 | 50 | 9| 6 | 12 | 18 | 24 | 30 | 36 | 42 | 48 | 54 | 60 | 10| 7 | 14 | 21 | 28 | 35 | 42 | 49 | 56 | 63 | 70 | 11| 8 | 16 | 24 | 32 | 40 | 48 | 56 | 64 | 72 | 80 | 12| 9 | 18 | 27 | 36 | 45 | 54 | 63 | 72 | 81 | 90 | 13| 10 | 20 | 30 | 40 | 50 | 60 | 70 | 80 | 90 | 100 | 14+------+------+------+------+------+------+------+------+------+------+ 1510 rows in set (0.01 sec) No PVT tecnici. Non rispondo nemmeno. Usate il forum. |
|||
| 19 Marzo, 2011 11:15 | #8 | ||
|---|---|---|---|
|
John quello che hai chiamato con "i" lo posso sostituire con moltiplicando e moltiplicatore ? E poi come posso mostrare il prodotto di ogni singola o |
|||
| 19 Marzo, 2011 11:20 | #9 | ||
|---|---|---|---|
|
La logica della mia sp è semplicissima. Sinceramente non mi è molto chiara la logica che invece stai seguendo tu o che ti hanno imposto di seguire. Al limite posta il dump della tua tabella e vedo se ci capisco qualcosa. No PVT tecnici. Non rispondo nemmeno. Usate il forum. |
|||
| 19 Marzo, 2011 11:45 | #10 | ||
|---|---|---|---|
|
quello che intendo io è che quando vado a inserire 3 con AUTO_INCREMENT nella colonna moltiplicatore nella colonna moltiplicando possa inserire dopo per esempio 2 .. 3 sempre riferito al numero tre ..
Ultima modifica 19 Marzo, 2011 11:51 di root1 |
|||
Condividi su:
Loggati o Registrati per replicare