Visualizzazione dei risultati da 1 a 7 su 7

Discussione: [Sql] Problema Query

  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2005
    Messaggi
    75

    [Sql] Problema Query

    Ho una serie di Articoli caratterizzati da codice, disponibilitàIniziale, disponibilità;
    Per ogni articolo possono verificarsi vendite, che stanno in una tabella Vendite caratterizzata oltre che dal codice Articolo anche dalla quantità venduta.
    codice:
    Tabella Articolo
    Codice   DisponibilitàIniziale   Disponibilità
    
    Tabella Vendita
    Articolo   Quantità
    A me occorre un aggiornamento del campo disponibilità come
    codice:
    disponibilità = disponibilitàIniziale - (somma delle quantita vendute di quell'articolo)
    Ho provato ad abbozzare la query in questo modo:
    codice:
    UPDATE Articolo
       SET Articolo.Disponibilita = DisponibilitaIniziale - (SELECT Sum(Vendita.Quantita) 
                                                             FROM  Articolo INNER JOIN Vendita 
                                                             ON Articolo.Codice=Vendita.Articolo)
                                                             WHERE... );
    Non riesco ad andare oltre. Aiuto!

  2. #2
    Utente di HTML.it
    Registrato dal
    Aug 2005
    Messaggi
    75
    Non riesco proprio a capire come si faccia...

  3. #3
    per esempio invece io non riesco a capire perche' devi usare dei nomi cosi' lunghi.... e poi fare lo sciolingua tra i nomi tabella e campo.

    un update multitabella lo puoi eseguire nel modo seguente:
    codice:
    update Articolo
    left join Vendita ON Articolo.Codice = Vendita.Articolo
    set Articolo.totale = Articolo.totale - 
         (SELECT SUM(parziale)
          FROM Vendita
          WHERE Articolo.codice = Vendita.Articolo
          GROUP BY Vendita.Articolo)
    where Vendita.parziale IS NOT NULL
    Almeno negli esempi usa nomi semplici (vedi il post di Gianni_T) poi userai quello che ti pare, ma almeno faciliti la lettura e invogli a risponderti.




    edit:
    Ho editato perche' non avevo considerato che devi sommare i valori. Usa i tuoi nomi di campo al posto di totale e parziale....



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

  4. #4
    Utente di HTML.it
    Registrato dal
    Aug 2005
    Messaggi
    75
    In Access non dovrebbe andare bene?
    Quando avvio la query ho il messaggio:
    "Per l'operazione è necessaria una query aggiornabile"
    Io dall'icona in alto ho selezionato query di aggiornamento ma non va proprio... Come correggo?

  5. #5
    Non conosco access... non segue lo standard SQL e non saprei come aiutarti.....

    Di solito (per default) qui si tratta MySQL.


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

  6. #6
    Utente di HTML.it
    Registrato dal
    Aug 2005
    Messaggi
    75
    Sull'implementazione in access chi mi sa dire qualcosa?

  7. #7
    $query = "create temporary table ven select articolo, sum(quantità) as totale from vendita;";
    mysqli_query($link,$query)or
    die (mysqli_error($link));

    $query1 = "select articolo, totale from ven";
    $result = mysqli_query($link, $query1)or
    die (mysqli_error($link)
    while ($row = mysqli_fetch_row($result))
    {
    $query1 = "update articolo
    set disponibilità = disponibilitàiniziale - '$row[1]' where codice = '$row[0]";
    mysqli_query($link,$query1)or
    die (mysqli_error($link));
    }


    L'ho fatta sul momento quindi chiedo scusa di eventuali errori. Okkio che ho utilizzato "mysqli" e non "mysql" nell varie query.
    Okkio anche a $link...devi connetterti al database.
    Access non può essere utilizzato per qualsiasi query;quelle semplici le fa egreggiamente, ma quando si tratta di join
    incomincia a perdere colpi e mi sembra che non supporta le unioni fra tabelle.Usa mysql...se ho commesso errori
    o ho detto stupidagini, scusatemi in anticipo.
    Un uomo è vecchio solo quando i rimpianti, in lui, superano i sogni. A. Einstein

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.