Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1
    Utente di HTML.it L'avatar di [trodat]
    Registrato dal
    Oct 2004
    Messaggi
    2,135

    Problema con query Select COUNT + DISTINCT

    Ciao.

    Che problema ha questa query ?

    codice:
    SELECT CampoA, COUNT(*) FROM ( SELECT DISTINCT CampoB, CampoC FROM tabellaCampi ) tabellaCampi WHERE CampoA LIKE '381%' AND CampoC = '2008-03-27' ORDER BY CampoC ASC 
    
    
    Microsoft OLE DB Provider for ODBC Drivers error '80040e14' 
    
    [MySQL][ODBC 3.51 Driver][mysqld-5.0.45-community-nt]Unknown column 'CampoA' in 'field list' 
    
    /Dettaglio.asp, line 517
    Lo Stato dà un posto. L’impresa privata dà un lavoro. – Indro Montanelli

  2. #2
    tro, guarda che il messaggio di errore parla chiaro!

  3. #3
    Utente di HTML.it L'avatar di [trodat]
    Registrato dal
    Oct 2004
    Messaggi
    2,135
    Originariamente inviato da optime
    tro, guarda che il messaggio di errore parla chiaro!
    Dice che il campoA non esiste, invece esiste in tabellacampi...

    Ho provato così:

    codice:
    SELECT COUNT(*) FROM ( SELECT DISTINCT CampoA, CampoB, CampoC FROM tabellaCampi ) tabellaCampi WHERE CampoA LIKE '381%' AND CampoC = '2008-03-27' ORDER BY CampoC ASC
    Non va in errore, ma è falsata l'estrazione dei dati....
    Lo Stato dà un posto. L’impresa privata dà un lavoro. – Indro Montanelli

  4. #4
    che vuol dire 'falsata'? fa' un esempio

  5. #5
    Utente di HTML.it L'avatar di [trodat]
    Registrato dal
    Oct 2004
    Messaggi
    2,135
    Originariamente inviato da optime
    che vuol dire 'falsata'? fa' un esempio
    Invece di estrarre ( contare ) 8 records corrispondenti alla query ne estrae ( conta ) il doppio cioè 16, gli altri 8 in realtà non esistono...
    Lo Stato dà un posto. L’impresa privata dà un lavoro. – Indro Montanelli

  6. #6
    se fai una SELECT * invece di una SELECT COUNT(*) quanti record ti mostra?

  7. #7
    Utente di HTML.it L'avatar di [trodat]
    Registrato dal
    Oct 2004
    Messaggi
    2,135
    Originariamente inviato da optime
    se fai una SELECT * invece di una SELECT COUNT(*) quanti record ti mostra?
    Me ne mostra 16, cioè tutti.
    Lo Stato dà un posto. L’impresa privata dà un lavoro. – Indro Montanelli

  8. #8

  9. #9
    Utente di HTML.it L'avatar di [trodat]
    Registrato dal
    Oct 2004
    Messaggi
    2,135
    Originariamente inviato da optime
    e allora? son 16!
    Si hai perfettamente ragione: in totale sono 16, ma quelli che dovrei contare e che corrispondono al criterio di estrazione della query sono in realtà 8.
    Lo Stato dà un posto. L’impresa privata dà un lavoro. – Indro Montanelli

  10. #10
    tro, se ne estrae 16 ne conta 16. sarà sbagliata la query di estrazione! non prendertela con la COUNT!

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.