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

    MYSQL - Update da tabelle diverse

    Ciao a tutti,
    il mio problema è questo. Devo aggiornare la tabella products, campo products_quantity con i dati della tabella articolimagazzini, campo Giacenza. La chiave che unisce le due tabelle è products_id per la prima, CodiceArticolo per la seconda.


    TABELLA DEST:
    products
    CAMPO
    products_quantity

    TABELLA ORIGINE
    articolimagazzini
    CAMPO
    Giacenza

    CHIAVE
    products_id=CodiceArticolo

    la query utilizzata è questa:
    UPDATE `products` SET `products_quantity`= (SELECT `Giacenza` FROM `articolimagazzini` WHERE `articolimagazzini.CodiceArticolo`=`products.produ cts_id`)

    L'errore il seguente:
    #1054 - Colonna sconosciuta 'articolimagazzini.CodiceArticolo' in 'where clause'

    Chi mi aiuta?
    Saluti

  2. #2
    Utente di HTML.it
    Registrato dal
    May 2006
    Messaggi
    442
    dimmi la struttura delle tasbelle ossia aggiungendo tuttii campi ed il tipo di campo e segnandomi le foreign key e prymary key in modo da poterti aiutare

  3. #3

    img struttura tabelle

    Le due tabelle fanno parte dello stesso DB





  4. #4
    Utente di HTML.it
    Registrato dal
    May 2006
    Messaggi
    442
    oppure in modo piu semplice fai due query

    $risultato=mysql_query("select Giacenza from articolimagazzini");ù
    while($riga=mysql_fetch_object)
    {
    $giacenza=$riga->Giacenza;
    }

    $ris=mysql_query("update product set products_quantity=$giacenza");

    se vuoi che il vecchio valore sia riscritto cambia l'ultima istruzione con


    $ris=mysql_query("update product set products_quantity=replace('$giacenza')");

    saluti luigi

  5. #5

    Nuovo errore

    ho cambiato l'ultima istruzione come mi hai detto.

    Adesso mi dà questo errore:
    #1064 - Errore di sintassi nella query SQL vicino a '$risultato=mysql_query("select Giacenza from articolimagazzini")' linea 1"


    Cmq. se lancio la query.

    SELECT CodiceArticolo, Giacenza
    FROM articolimagazzini

    tira fuori i record

  6. #6
    Utente di HTML.it
    Registrato dal
    May 2006
    Messaggi
    442
    dove c'e la prima query prima del while

    $risultato=mysql_query("select Giacenza from articolimagazzini") or die mysql_error();


    cosi vedi il tipo di errore che ti da

  7. #7
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    codice:
    update articolimagazzini,products
    set products.quantity = articolimagazzini.giacenza
    where articolimagazzini.codiceArticolo = products.products_id

  8. #8

    GRAZIE

    Ho risolto con il suggerimento di nicola75ss. In effetti ho dovuto correggere set products.quantity con products.products_quantity.

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