Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 15

Discussione: Query di controllo

  1. #1

    Query di controllo

    Ragazzi, domanda fagiana, ma sono cotto come un boiler e non riesco più a ragionare.
    Per fortuna ancora pochi giorni e poi mi spendo un po' di vacanza. :tongue:

    Presupponendo di avere 2 tabelle del tipo

    tabella 1
    catid (id)
    nomecat (varchar)

    tabella 2

    itemid (id)
    nomecat (varchar)
    etc...

    Come potrei controllare e soprattutto verificare per ogni cat nella tabella 1 i valori di item nella tabella2?

    Avevo pensato ad una query che estragga le cat e poi ad un ciclo per ogni record che esegua un select count nella tabella 2.

    Il problema è che richiederebbe troppo tempo di elaborazione e mi ricordo ci fosse un altro modo. :master:

  2. #2
    Utente di HTML.it L'avatar di Joe Taras
    Registrato dal
    Nov 2003
    residenza
    Taranto
    Messaggi
    955

    Re: Query di controllo

    Se in tabella2 aggiungi il campo catid della tabella1 fai una select e ti da il numero degli item

  3. #3

    Re: Re: Query di controllo

    Originariamente inviato da Joe Taras
    Se in tabella2 aggiungi il campo catid della tabella1 fai una select e ti da il numero degli item
    Ho coma la vaga idea di non seguirti.
    Se inserisco catid nella tab 2 (che cmq è equivalente a nomecat, nel senso che posso usare nomecat come relazione) se eseguo

    1. select count potrei usare la clausula group by ma non mi riusulta come serve a me
    2. una select normale non mi è di aiuto
    3. neanche distinct, max, last, sum, avg o simili vedo come possano aiutarmi.


  4. #4
    Utente di HTML.it L'avatar di Joe Taras
    Registrato dal
    Nov 2003
    residenza
    Taranto
    Messaggi
    955

    Re: Re: Re: Query di controllo

    Originariamente inviato da weppos
    Ho coma la vaga idea di non seguirti.
    Se inserisco catid nella tab 2 (che cmq è equivalente a nomecat, nel senso che posso usare nomecat come relazione) se eseguo

    1. select count potrei usare la clausula group by ma non mi riusulta come serve a me
    2. una select normale non mi è di aiuto
    3. neanche distinct, max, last, sum, avg o simili vedo come possano aiutarmi.

    Innanzitutto come campo da relazionare dovresti usare catid perché presumo sia chiave di tabella1.
    Perché puoi avere teoricamente 2 categorie differenti con identico nome.
    Fatto questo tu cosa vuoi sapere il totale degli item x ogni categoria?
    Fai una select count(*) group by nomecat o catid

  5. #5
    Come non detto, i miei 2 neuroni hanno finito di accoppiarsi e sono tornati a lavorare!

    Ho trovato una soluzione, dovrebbe risolvere parte o tutti i miei problemi.

    Thanks.
    Ciao

  6. #6
    Utente di HTML.it L'avatar di Joe Taras
    Registrato dal
    Nov 2003
    residenza
    Taranto
    Messaggi
    955
    Originariamente inviato da weppos
    Come non detto, i miei 2 neuroni hanno finito di accoppiarsi e sono tornati a lavorare!

    Ho trovato una soluzione, dovrebbe risolvere parte o tutti i miei problemi.

    Thanks.
    Ciao
    Di niente, solo che volevo sapere cosa effettivamente dovevi calcolare perché forse non ci siamo davvero capiti

  7. #7
    Originariamente inviato da Joe Taras
    Di niente, solo che volevo sapere cosa effettivamente dovevi calcolare perché forse non ci siamo davvero capiti
    In poche parole dovevo calcolare il numero di valori della tabella 2 per ogni valore della tabella 1, quindi quanti oggetti aveva ciascuna categoria, poichè dovevo restituire le categorie vuote o con absso numero di oggetti.

    Ho trovato il modo di eseguire un select count del valore lavorando solo sulla tabella 2 raggruppando per nome della cat, tanto sono sicuro che saranno sempre differenti.

  8. #8
    Utente di HTML.it L'avatar di 99eros9
    Registrato dal
    Jan 2003
    Messaggi
    2,637
    con un join e count tra le due tabelle e "on tabella2.nomecat= tabella1.nomecat"... non avrebbe funzionato?
    Tala är silver men tiga är guld!
    Pubblica il tuo curriculum
    Segnala il tuo sito
    Ancl

  9. #9
    Originariamente inviato da 99eros9
    con un join e count tra le due tabelle e "on tabella2.nomecat= tabella1.nomecat"... non avrebbe funzionato?

    No perchè è mySQL e perchè dato il numero di record era meglio lavorare su una sola tabella.

  10. #10
    Utente di HTML.it L'avatar di 99eros9
    Registrato dal
    Jan 2003
    Messaggi
    2,637
    lavorare su una sola tabella ok che è meglio, ma io, simili "nefandezze" :gren: le uso tranquillamente su mysql quando necessario...
    Tala är silver men tiga är guld!
    Pubblica il tuo curriculum
    Segnala il tuo sito
    Ancl

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.