Visualizzazione dei risultati da 1 a 6 su 6

Discussione: variabili in sql

  1. #1
    Utente di HTML.it
    Registrato dal
    May 2014
    Messaggi
    52

    variabili in sql

    Salve a tutti, di recente sono venuto a conoscenza che in phpmyadmin è possibile settare le variabili per poterli poi utilizzare nelle interrogazioni:

    codice:
    set @variabile=10;
    select * from tbl where id=@variabile;
    ora mi chiedo: è possibile utilizzare strutture a 2 vie, cicli, array (con lunghezza da ridimensionare) e matrici tutto in sql?

    Quello che vorrei ottenere è questo:
    creo un array di n elementi, gli assegno dei numeri, faccio la somma di tutto l'array, se l'array è maggiore di [un numero qualsiasi] esegue query1, altrimenti query2.

  2. #2
    Utente di HTML.it L'avatar di nman
    Registrato dal
    Jan 2011
    residenza
    Milano
    Messaggi
    1,333
    Se usi SQL Server è certamente possibile


    se usi altri DB immagino di si ma non ne sono certo


    .

  3. #3
    di che db stiamo parlando? (ma lo leggiamo 'sto regolamento?)

  4. #4
    Utente di HTML.it
    Registrato dal
    May 2014
    Messaggi
    52
    Mysql ad ogni modo credo sia inutile... utilizzando il php non riesco a farlo funzionare. Dovrei fare una cosa del genere:

    Codice PHP:
    mysql_result(mysql_query('

    SET @row_num=0;

    SELECT *FROM(SELECT @row_num:=@row_num+1 as `posizione`, `id`,`nome`,`totale` FROM `tblvb` ORDER by `totale` DESC) as `t`WHERE `t`.`id`=5

    '
    ),0); 
    C'è un modo per farlo funzionare? Mi sarebbe di grande aiuto.
    Ultima modifica di gpinodj; 23-06-2016 a 08:57

  5. #5
    1. se sei convinto che specificare il db non serva a niente... auguri!
    2. che vuol dire "non funziona"? cosa vuoi fare? spiegati bene, magari con un esempio


  6. #6
    Utente di HTML.it
    Registrato dal
    May 2014
    Messaggi
    52
    MySql 5.1.71

    di una tabella es. "tbl(id, nome, criterioNumerico )" voglio ordinare la tabella in base ad un criterio numerico, dopo il riordinamento voglio creare una colonna di comodo che mi numera i record (tipo una classifica). e avere infine una tabella del genere:
    "tbl(id, nome, criterioNumerico, recordN )"


    ID NOME CRITERIONUMERICO POSIZIONE
    19564 A 898 1
    26313 Z 802 2
    25 X 506 3
    19000 M 456 4



    Ripeto su internet ho trovato questo:

    [
    CODE]
    set@variabile=10;
    select*from tbl where id=@variabile;
    [/CODE]

    che adattandolo al mio caso diventa:

    codice:
    SET @row_num=0;
    
    SELECT *FROM(SELECT @row_num:=@row_num+1 as `posizione`, `id`,`nome`,`totale` FROM `tblvb` ORDER by `totale` DESC) as `t`WHERE `t`.`id`=5
    



    ho provato a farlo partire in phpmyadmin e funziona, il problema nasce quando lo devo far partire da una pagina php, sembra che non mi legge la variabile

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.