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

    [MYSQL]Errore 1064 con Subquery con count(*)

    Ciao
    Premetto che la query che mi da errore 1064 potrei risolverla con una JOIN, ma, siccome sto facendo degli studi con subquery, vorrei risolverla in questo modo:
    codice:
    SELECT gruppo, 
        ( SELECT COUNT ( * ) 
        FROM sql_lib_prestiti 
        WHERE sql_lib_prestiti.id_libro = sql_libri.id ) AS numLibri
    FROM sql_libri
    Purtroppo non posso mandarla in esecuzione perchè mi da questo errore:
    #1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '* )
    FROM sql_lib_prestiti
    WHERE sql_lib_prestiti.id_libro = sql_libri.id )' at line 2

    ho provato con la sola
    codice:
        SELECT COUNT(  *  ) 
    FROM sql_lib_prestiti
    WHERE sql_lib_prestiti.id_libro =2
    ed ottengo il giusto risultato.
    Perchè ottengo questo errore se la subquery da sola funziona?

    Grazie se potete farmi risolvere questo problema.

  2. #2
    puoi risolverla anche con una GROUP BY, che è proprio quello che ti serve

  3. #3
    Ciao optime e grazie per la tua sollecitudine
    GROUP BY che cosa?
    GROUP BY sql_lib_prestiti.id_libro?????
    E' l'unico campo che potrei raggruppare

  4. #4
    Forse ho trovato.
    Potrebbe essere lo spazio che c'è in COUNT ( * ) ..........?
    ho provato senza lo spazio e l'errore scompare: COUNT( * )
    Così funziona con e senza il GROUP BY, anche se senza il GROUP BY mi vengono restituiti più record del necessario.
    La query finale e funzionante:
    codice:
    SELECT gruppo, ( 
        SELECT COUNT( * ) 
        FROM sql_lib_prestiti 
        WHERE sql_lib_prestiti.id_libro = sql_libri.id 
        ) AS numLibri 
    FROM sql_libri 
    GROUP BY gruppo 
    ORDER BY numLibri DESC
    senza lo spazio dopo il 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.