Visualizzazione dei risultati da 1 a 9 su 9

Discussione: Aiuto Sql

  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    25

    Aiuto Sql

    Spiego brevemente il problema (sperando di farmi capire ):

    Ho 3 tabelle:Acquisti, Vendita e Magazzino.
    Acquisti: CodProdotto, CodFrnitore (altra tabella che però non ci interessa al momento), Data, PrezzoAcq, QuantAcq
    Magazzino:CodProdotto,DescrizioneProdotto, QuantGiac
    Vendita:CodProdotto, CodCliente (altra tabella), Data, PrezzoVen, QuantVen, Sconto

    Devo fare in modo che quando faccio partire la quesry questa mi aggiorni la quantità giacente che ho in magazzino sottraendo a QuantAcq il valore di QuantVen.

    Però effettuando l'update
    UPDATE Negozio, Acquisto, Vendita SET QuantGiac = Acquisto.QuantAcq-Vendita.QuantVen
    WHERE Negozio.CodProdotto=Acquisto.CodProdotto;


    la query mi aggiorna 2 volte la tabella e mi manda in confusione i risultati..

    Qualcuno riesce ad illuminarmi?
    ____________________________

  2. #2
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    25
    Nessuno che riesce a darmi una mano??

    Sto


  3. #3
    la sintassi corretta per una UPDATE in SQL99 e':
    UPDATE {nome_tabella|nome_vista}
    set {nome_colonna | nome_variabile} = {DEFAULT | espressione} [,...n]
    WHERE condizioni

  4. #4
    una nidificata si fa' cosi':
    codice:
    UPDATE titoli
    SET datapub = 'Jan 01 2002'
    WHERE id_titoli IN
      (SELECT id_titolo 
       FROM autori
       WHERE id_au IN 
          (SELECT id_au
           FROM autori
           WHERE cognome_au='Bianchi')
      );
    scusa ma non ho ben capito la struttura delle tue tabelle..

  5. #5
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    25
    Originariamente inviato da kentaromiura
    la sintassi corretta per una UPDATE in SQL99 e':
    UPDATE {nome_tabella|nome_vista}
    set {nome_colonna | nome_variabile} = {DEFAULT | espressione} [,...n]
    WHERE condizioni
    Però le tabelle da cui prendo i dati sono 3 e mi servono tutte...

    Dici di far 2 query?

  6. #6
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    25
    Originariamente inviato da kentaromiura
    una nidificata si fa' cosi':
    codice:
    UPDATE titoli
    SET datapub = 'Jan 01 2002'
    WHERE id_titoli IN
      (SELECT id_titolo 
       FROM autori
       WHERE id_au IN 
          (SELECT id_au
           FROM autori
           WHERE cognome_au='Bianchi')
      );
    scusa ma non ho ben capito la struttura delle tue tabelle..
    Ok provo a farle nidificate poi ti riferisco

  7. #7
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    25
    Originariamente inviato da kentaromiura


    scusa ma non ho ben capito la struttura delle tue tabelle..
    Allora ho 3 tabelle che mi interessano:

    Acquisto:

    CodProdotto----->il codice del prodotto che acquisto
    CodFornitore---->il codice del fornitore da cui lo acquisto
    Data------------>Data di acquisto
    PrezzoAcq------->Il prezzo di acquisto
    QuantAcq-------->Quantità del prodotto acquistato

    Negozio:


    CodProdotto
    DescrizioneProdotto->La descrizione del prodotto che ho in magazzino
    QuantGiac-------->Dove dovrà essere fatta la sottrazione tra la quantità acquistata e quella venduta

    Vendita:

    CodProdotto
    CodCliente------->Codice del Cliente a cui è venduto il prodotto
    Data------------->Data di vendita
    PrezzoVen-------->Prezzo di Vendita
    QuantVen--------->quantità venduta

    Spero di aver chiarito i tuoi dubbi

  8. #8
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    25
    Ehm......non sono riuscito a cavarci fuori i piedi lo stesso

  9. #9
    dovrebbe assomigliare a questa:
    codice:
    update negozio
    set quantigiac =acquisto.quantacq - vendita.quantven
    where codprod in
    (select codprod from acquisti);

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