Visualizzazione dei risultati da 1 a 9 su 9

Discussione: [Mysql] Select count

  1. #1

    [Mysql] Select count

    Buon giorno, vorrei sapere per favore, come trovare valore "zero" per tutti i campi, senza doverli elencare uno ad uno.
    Questa è la select che ho:
    codice:
    SELECT 'TB_INI' tabella, COUNT(id_user)
    FROM TB_INI
    WHERE (O01=0 and O02=0 and O03=0 and O04=0 and O05=0)
    
    UNION ALL
    
    
    SELECT 'TB_DATI_ANAGRAFICI' tabella, COUNT(id_user) as A2
    FROM TB_DATI_ANAGRAFICI
    WHERE (sexM=0 and sexF=0 and eta_1=0 and eta_2=0 and anzianita_1=0 AND anzianita_2=0)
    Devo conteggiare tutti i campi di 20 tabelle che hanno valore "zero", ma vorrei evitare di scrivere a mano tutti i campi nella clausola where.E' possibile.
    Grazie mille.

  2. #2
    vedendo il nome dei campi direi che sarebbe sufficiente un ulteriore campo con attivo = 0/1 per definire se i dei dati ci sono oppure no.

    ma questo e' un esempio a caso oppure e' reale?
    WHERE (O01=0 and O02=0 and O03=0 and O04=0 and O05=0)

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

  3. #3
    a caso, per far capire quello che intendevo

  4. #4
    Vuoi tutti i campi a 0 (sono in AND) per farne la conta. Sinceramente agirei sulla struttura del db. Quando crei un record dovrai ben avere qualche dato. Se crei tutto a 0 allora metti l'attivo a 0 e poi lo sposterai a 1 al primo update che popola i campi.

    Se invece vuoi risolvere un problema una tantum perche' fare una union di due tabelle che apparentemente hanno nulla a che fare tra loro? Tanto ti rende solo un record (per tabella)

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

  5. #5
    allora, db e tabelle già sono create e popolate come hai detto tu.
    Per default i campi hanno valore 0, se viene eseguita una scelta quel campo sarà aggiornato ad 1.
    Per ogni tabella ho circa 270 record.

    A me serve una "count" che conta tutti i record, di tutte le tabelle che hanno valore "zero".
    Come nell'esempio postato prima.
    Però non voglio scrivere il nome dei campi uno ad uno.
    Spero di essermi fatto capire.
    Grazie

  6. #6
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    Già puoi fare

    (O01+O02+O03+O04+O05)=0 anziché O01=0 and O02=0 and O03=0 and O04=0 and O05=0
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

  7. #7
    buon giorno, ti ringrazio.Ma devo per forza scrivere a mano tutti i campi?

  8. #8
    yesss. dai che facevi prima a scrivere la query che a scrivere qui sul forum

  9. #9
    Quote Originariamente inviata da badaze Visualizza il messaggio
    Già puoi fare

    (O01+O02+O03+O04+O05)=0 anziché O01=0 and O02=0 and O03=0 and O04=0 and O05=0
    certo, ammesso che gli addendi non siano MAI negativi vai di AND e sei tranquillo!

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.