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

    Analisi completamento con percentuale

    Salve,
    vorrei realizzare una query che mi permettesse di analizzare la % di completamento dei dati inseriti relativi ad un prodotto.

    Ho un prodotto per il quale devono essere inseriti degli altri dati, anche in altre tabelle.
    Un esempio:
    Tabella Prodotti (prod_id, nome, descrizione, data_disponibilità, prezzo)
    Tabella Recensioni (rece_id, giudizio, testo, prod_id)

    Ipotizziamo di avere un prodotto per il quale è inserito solo il prezzo e una descrizione (il nome no perchè è obbligatorio). Il risultato dovrebbe essere Prodotto A (dati inseriti 40%)

    I campi da analizzare sono 5 (prod_descrizione, prod_data_disponibilità, prod_prezzo, rece_giudizio, rece_testo) = 100% se 2 su 5 sono completati = 100/5*2=40%

    Vorrei sapere se con una query è possibile analizzare determinati campi e controllare se sono vuoi così da restituirmi solo il nome del prodotto e la % di completamento. La % la devo calcolare per ogni prodotto.

    Qualcuno sa darmi una dritta su come procedere? È possibile farlo con SQL o dovrei usare PHP?

    Grazie 1000 per il supporto
    La rovina del mondo sara' l'indifferenza. Ma chi se ne frega!!

  2. #2
    Utente di HTML.it L'avatar di gibra
    Registrato dal
    Apr 2008
    residenza
    Italy
    Messaggi
    4,244
    Non hai indicato il database!!!
    Come da Regolamento, ed è importante perchè alcune istruzioni SQL non funzionano in tutti i database.

    Ad esempio fai una query che restituisca 0 se il campo è vuoto, oppure 1 se contiene un valore, qualcosa di simile:

    codice:
    SELECT nome
        iif(prod_descrizione = "", 0, 1) As Descrizione
      , iif(prod_data_disponibilità > 0, 1, 0) As Disponibilita
      , etc. etc. etc.
    FROM tabella
    WHERE ...
    Otterrai così una tabella con tutti i campi impostati a 0 o 1 a seconda che il campo ha un valore valido o meno.
    Naturalmente se i campi possono essere NULL devi tenerne conto e verificarlo, ma la strada è quella che ti ho indicato.

    Se usi ad esempio un database SQL Server, Oracle, etc. potresti usare
    CASE ... WHEN


  3. #3
    il database è MySQL scusa la dimenticanza. Ora provo a fare dei tentativi casomai ritorno intanto grazie
    La rovina del mondo sara' l'indifferenza. Ma chi se ne frega!!

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.