Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it L'avatar di natasha
    Registrato dal
    Sep 2000
    Messaggi
    1,307

    INSERT di valori recuperati tramite una precedente SELECT

    Buongiorno a tutti,
    dovrei effettuare l'INSERT in una tabella di alcuni valori recuperati da una differente tabella.
    L'INSERT richiede un campo che NON è fra quelli recuperati dalla SELECT (per fortuna è sempre uguale); inoltre, la SELECT è una query di aggregazione, per cui a sua volta contiene un campo del quale non fare l'INSERT, e che non è possibile eliminare.

    Per fissare le idee, dopo aver fatto una

    SELECT campo1, COUNT(campo2) AS Somma FROM tabella1 GROUP BY campo1 HAVING Somma > 3

    devo effettuare una serie di

    INSERT INTO tabella2(campo3, campo4) VALUES ('pippo', campo4)

    ove campo4 sono tutti i valori di campo1 recuperati dalla prima SELECT.

    Sono in hosting, per cui non posso usare funzioni, trigger o altro (tra l'altro uso MySQL 4, quindi non posso sicuramente usare trigger).
    C'è modo di cavarsela con un'unica query?

    Problema n. 2: ammesso che esista una simile query, sempre tenendo presente che uso MySQL 4, c'è un modo per mandarla in esecuzione ad intervalli regolari (es. ogni ora)?

  2. #2
    Codice PHP:

    $query 
    "SELECT campo1, COUNT(campo2) AS Somma FROM tabella1 GROUP BY campo1 HAVING Somma > 3";
    $result mysql_query($result);
    while (
    $row mysql_fetch_array($result)) {

          
    $campo4 $campo4." ".$row['campo1'];

    }

    //cosi rimuovi lo spazio generato all'inizio della stringa
    if (substr($campo401) == " ") {

       
    $campo4 =  substr($campo41);

    }

    mysql_query("INSERT INTO tabella2(campo3, campo4) VALUES ('pippo', '$campo4')"

  3. #3
    Utente di HTML.it L'avatar di natasha
    Registrato dal
    Sep 2000
    Messaggi
    1,307
    Mi piacerebbe poter fare tutto in MySQL
    Ad ogni buon conto, con la tua soluzione fai l'INSERT di un concatenamento di tutti i Campo1, mentre io vorrei fare una serie di INSERT, una per ogni valore del Campo1 nel recordset recuperato dalla prima SELECT.
    Ma forse ero stata poco chiara io nelle specifiche

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 © 2025 vBulletin Solutions, Inc. All rights reserved.