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

    è possibile verificare condizioni all'interno di un GROUP BY?

    Spiego meglio quanto "sintetizzato" nel titolo:
    In un elenco, creato con il comando GROUP BY in una query SQL, ho aggiunto tempo fa il numero di elementi che la voce permette di visualizzare con un comando COUNT. (ecco qui l'esempio)

    Dato che vorrei dare maggior risalto a nuovi documenti inseriti, vorrei che quel numerino se all'interno del conteggio è presente una nuova riga diventi in grassetto.
    Tutto ok per quanto riguarda la parte ASP (o almeno credo): metto come condizione che se il numero di nuovi inserimenti è maggiore di 0 allora il numero di documenti dovrà essere in grassetto, stop.

    Ma per quanto riguarda la query SQL tramite la quale posso ottenere questo dato, come deve essere modificata?
    Posto qui quella esistente, così che chiunque voglia aiutarmi possa capire dove poi bisogna mettere le mani:

    Codice PHP:
    SELECT TemaDocumentoCOUNT(TemaDocumento) AS countemaFROM Documenti GROUP by TemaDocumento 

  2. #2
    Dopo il FROM e prima del GROUP BY metti la WHERE

  3. #3
    Originariamente inviato da Mems
    Dopo il FROM e prima del GROUP BY metti la WHERE
    In questo modo otterrei solamente le ultime voci inserite, quelle con campo Immagine=true.
    Mentre il numerino conterebbe tutti i documenti inseriti corrispondenti al tema specifico.

    Inoltre non riesco a contare quelli inseriti da poco. E così non riesco a stabilire se si deve "boldare" o meno.

    Una cosa del genere nella SELECT potrebbe funzionare?
    Codice PHP:
    SELECT TemaDocumentoCOUNT(TemaDocumento) AS countemaCOUNT(Immagine=true) as countimg 

  4. #4
    Originariamente inviato da horace
    In questo modo otterrei solamente le ultime voci inserite, quelle con campo Immagine=true.
    Mentre il numerino conterebbe tutti i documenti inseriti corrispondenti al tema specifico.

    Inoltre non riesco a contare quelli inseriti da poco. E così non riesco a stabilire se si deve "boldare" o meno.

    Una cosa del genere nella SELECT potrebbe funzionare?
    Codice PHP:
    SELECT TemaDocumentoCOUNT(TemaDocumento) AS countemaCOUNT(Immagine=true) as countimg 
    codice:
    COUNT(campo) AS cont ... HAVING campo = true

  5. #5
    Originariamente inviato da Mems
    codice:
    COUNT(campo) AS cont ... HAVING campo = true
    Non capisco dove doverlo mettere. HAVING dovrebbe finire alla fine della query (sia prima che dopo il GROUP BY), ma mi da errore, così come me lo da nella SELECT

  6. #6
    Alla fine della query.
    Google no, eh? http://www.techonthenet.com/sql/having.php

  7. #7
    Originariamente inviato da Mems
    Alla fine della query.
    Google no, eh? http://www.techonthenet.com/sql/having.php
    Ovviamente si, è la prima cosa che ho fatto quando ho notato che la prima soluzione che ho tentato non andava bene. Ho trovato risorse simili alla tua, ma non mi sono state d'aiuto (perchè fatico a capire )

    Ho fatto cosi.

    Nella SELECT ho lasciato
    Codice PHP:
    COUNT(Immagine) as countimg 
    E, dopo il GROUP BY nomecampo ho inserito

    Codice PHP:
    HAVING Immagine=true 
    Risultato:
    Impossibile eseguire una query che non include l'espressione "Immagine=-1" specificata come parte di una funzione di aggregazione.

  8. #8
    Scrivi qui tutta la query.

  9. #9
    Originariamente inviato da Mems
    Scrivi qui tutta la query.
    Codice PHP:
    SELECT TemaDocumentoCOUNT(TemaDocumento) AS countema FROM Documenti
    WHERE Percorso IS NULL
    AND (TipoDocumento 'Internazionali' or TipoDocumento 'Nazionali' or TipoDocumento 'Regionali')
    AND 
    TemaDocumento IS NOT NULL
    group by TemaDocumento 
    Questa è la query originaria, alla quale aggiungere poi la verifica del campo Immagine (vero/falso) con il comando HAVING

  10. #10
    A guardarla mi viene da dire che potresti aggiungere nella where immagine = true

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.