Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1

    [MySql] Insert e Select

    Buon giorno a tutti, dovrei eseguire una insert di alcuni valori sulla tb_1, tra questi valori due li devo recuperare attraverso una select SUM su un'altra tabella tb_2.

    Potreste dirmi cortesemente come si fà?
    Ho cercato sia qui sul forum sia sul web,ma non avendo mai avuto la necessità di eseguire tale operazione non so se quello che ho trovato fa al caso mio.

    Esempio preso su un sito....ma non vedo il values come una normale insert,quindi non mi trovo.
    codice:
    INSERT INTO suppliers
    (supplier_id, supplier_name)
    SELECT account_no, name
    FROM customers
    WHERE city = 'Newark';
    grazie mille

  2. #2
    Se devi riempire una tabella con alcuni dati di un'altra allora la query sotto potrebbe risolvere velocemente la cosa, se invece alcuni dati vengono da una tabella (i due SUM che parli sotto) e altri valori in arrivo da "altra" parte allora forse ti complichi la vita. In questo ultimo caso potresti fare il SELECT SUM memorizzare i valori e poi montare l'INSERT con gli altri dati.

    Dovresti darci qualche altra informazione per capire meglio vuoi fare...
    Faranno fatica a credere, quelli che prendono le autorità per la verità, e non la verità come autorità.

  3. #3
    ciao...ti ringrazio dell'interesse... prendo in considerazione il tuo secondo consiglio, perchè devo popolare la tab_1 come indichi nel tuo post.

    quindi una considerazione per capire meglio.
    Se avessi dovuto popolare tutta la tab_1 con valori presi da un'altra tab allora avrei potuto utilizzare l'insert che ho postato come esempio.
    Invece nel mio caso, bisogna prelevare a parte i valori che poi si vogliono utilizzare nella insert?
    Giusto?
    grazie mille

  4. #4
    Qui è solo questione di praticità a seconda delle operazioni che devi fare e della mole di dati da spostare:
    - un "semplice" travaso di dati da una tabella all'altra INSERT con SELECT.
    - una query più complessa, monta i dati e poi INSERT.
    Faranno fatica a credere, quelli che prendono le autorità per la verità, e non la verità come autorità.

  5. #5
    ti ringrazio ancora...guarda un'ultima domanda.
    Quindi in base al tuo consiglio, dovrei prelevare dalla tab_2 il conteggio di due campi, in base
    attraverso una where.
    Come nel precedente caso, non avendo mai avuto questa necessità,non so come si fà,
    Cmq ho già visto che non è possibile se non eseguendo la select in un certo modo.

    Non posso utilizzare la SUM o MAX, perchè i campi interessati sono varchar.
    Quindi domanda:
    come posso conteggiare il campo A e il campo B con due count nella stessa tab_2?
    grazie millle

  6. #6
    SUM e MAX su VARCHAR? Che tipo di risultato vuoi ottenere?
    Forse ti serve contare quante volte un certo valore è ripetuto nella tabella?
    Faranno fatica a credere, quelli che prendono le autorità per la verità, e non la verità come autorità.

  7. #7
    appunto, come dicevo, non potendo utilizzare SUM o MAX perchè campi VARCHAR, vorrei utilizzare due count, ma non so come si fà...perché mi sembra che non è possibile...

  8. #8
    max ha senso con i varchar, ma sum direi proprio di no...

  9. #9
    Non hai risposto alla domanda... in ogni caso se vuoi contare il risultato di due condizioni, devi fare due query distinte.
    Faranno fatica a credere, quelli che prendono le autorità per la verità, e non la verità come autorità.

  10. #10
    codice:
    SELECT COUNT(nominativo) AS contatti_inseriti FROM tb_rubrica 
    WHERE id_team="28" AND attivo=1
    UNION
    SELECT COUNT(nominativo) AS appuntamenti FROM tb_rubrica 
    WHERE (esito_appuntamento="fatto" OR esito_appuntamento="non fatto") AND 
    id_team="28" AND attivo=1
    in questo modo può andar bene?
    si può ottimizzare?
    grazie ancora

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.