Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    mysql - riutilizzare un risultato in una query

    salve ragazzi, mi chiedevo come potrei scrivere una query che:
    MI SOMMA I VALORI DI UN CAMPO X NELLA TABELLA A
    PRENDE IL RISULTATO E LO METTE IN UN CAMPO Y DI UN INSERT DELLA TABELLA B

    del tipo:

    update tabellaB set y=( sum(tabellaA.x) ) where id=2
    si vivono molte vite e si muore una volta sola

  2. #2
    pero' vedi, non si puo' fare tutto quel lavoro nella pagina php. il metodo migliore e' lasciare sbrigare il lavoro al database, quindi l'ottimale sarebbe avere una sola query.

    questo perche' il database e' velocissimo a sbrigare le sue query, mentre invece l'invio della query dalla pagina php al database e l'invio della risposta del database alla pagina e' un processo.
    si vivono molte vite e si muore una volta sola

  3. #3
    si sono sempre gli stessi.

    esempio:

    tabella A (id, x)
    1 - 6
    2 - 2
    3 - 9

    tabella B (id, y)
    1 - 0
    2 - 0
    3 - 0

    io voglio fare:
    somma nella tabella A tutti i valori nella colonna x
    e mettili dentro alla colonna y, insert 2, tabella B

    così da avere poi:

    tabella A (id, x)
    1 - 6
    2 - 2
    3 - 9

    tabella B (id, y)
    1 - 0
    2 - 17
    3 - 0
    si vivono molte vite e si muore una volta sola

  4. #4
    Se hai mysql 4.1 puoi fare come hai detto all'inizio.

    UPDATE tabB
    set campo = (select count(campo) from tabA)
    where id = nn


    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  5. #5
    non ho mysql 4!!!

    (sapesti quanti problemi con le date...)
    si vivono molte vite e si muore una volta sola

  6. #6
    Prova con una tabella temporanea. Funziona sempre.
    codice:
    create temporary table temp
    select sum(x) as somma
    from tabA;
    
    update tabB, temp
    set y = temp.somma
    where id = 2;
    con phpmyadmin le due queries le devi fare nella stessa finestra query, contemporaneamente. Da php fai due queries una a seguire l'altra.


    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

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.