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

Discussione: Problema con query

  1. #1

    Problema con query

    Salve, ho notato una differenza fra le query eseguite su un db in access e un'altro su SQL Server

    La query è la seguente :

    SELECT TOP 50 * FROM (SELECT date_, COUNT(date_) AS ToT FROM Statistiche)

    Cioè eseguo una query su un risultato di un'altra query.
    Con access funziona correttamente ma su SQL Server mi genera un errore.

    Dove sta l'inghippo ??



    Grazie sin da ora.
    Scusatemi in anticipo per gli ORRORI di ortografica, ma sono analfabeta
    Electronic parts catalog
    Gestione cataloghi ricambio IPC
    Documentazione tecnica & manuali

  2. #2
    PS: l'esecuzione della query avviene tramite una pagina .asp
    Scusatemi in anticipo per gli ORRORI di ortografica, ma sono analfabeta
    Electronic parts catalog
    Gestione cataloghi ricambio IPC
    Documentazione tecnica & manuali

  3. #3
    Utente di HTML.it L'avatar di albis
    Registrato dal
    May 2002
    Messaggi
    912
    questa select "SELECT date_, COUNT(date_) AS ToT FROM Statistiche"
    è sbagliata non può fare un count senza un raggruppamento ammeno che non selezioni solo il count tipo
    "SELECT COUNT(date_) AS ToT FROM Statistiche"

    che conteggio dovrebbe fare quella select
    forse tutte le date uguali ?
    allora sarebbe
    "SELECT date_, COUNT(date_) AS ToT FROM Statistiche group by date_"

    e comunque se volessi di questo risultato prendere i primi 50 dovrestiscrivere
    "SELECT top 50 date_, COUNT(date_) AS ToT FROM Statistiche group by date_"
    Forza la magica ROMA

  4. #4
    Scusa per l'errore (mancava una parte, la query è più complessa l'avevo solo semplificata).

    La query effettiva è la seguente :

    SELECT TOP 50 * FROM (SELECT date_, COUNT(date_) AS ToT FROM Statistiche WHERE ((key_marcatura<>'@@emailopen@@@') AND (key_marcatura<>'@@pagehtmlopen@@@') AND (Motore_Ricerca<>1 OR Motore_Ricerca=0 OR Motore_Ricerca is NULL)) GROUP BY date_) ORDER BY date_ DESC ;

    Su access no problem ma su SQL Server ho questo errore :

    Microsoft OLE DB Provider for SQL Server (0x80040E14)
    Sintassi non corretta in prossimità della parola chiave 'ORDER'.


    Grazie per la disponibilità...
    Scusatemi in anticipo per gli ORRORI di ortografica, ma sono analfabeta
    Electronic parts catalog
    Gestione cataloghi ricambio IPC
    Documentazione tecnica & manuali

  5. #5
    Utente di HTML.it L'avatar di albis
    Registrato dal
    May 2002
    Messaggi
    912
    SELECT top 50 date_, COUNT(date_) AS ToT FROM Statistiche WHERE ((key_marcatura<>'@@emailopen@@@') AND (key_marcatura<>'@@pagehtmlopen@@@') AND (Motore_Ricerca<>1 OR Motore_Ricerca=0 OR Motore_Ricerca is NULL)) GROUP BY date_
    order by date_ desc
    Forza la magica ROMA

  6. #6
    ???!!!???

    Adesso provo e se va ti ringrazio di cuore ...
    Scusatemi in anticipo per gli ORRORI di ortografica, ma sono analfabeta
    Electronic parts catalog
    Gestione cataloghi ricambio IPC
    Documentazione tecnica & manuali

  7. #7
    Funziona ..

    Ti chiedo un'altra cosa, riguardo la verifica della data .

    SELECT TOP 50 date_, COUNT(date_) FROM Statistiche_User WHERE ( ( (key_marcatura<>'@@emailopen@@@') AND (key_marcatura<>'@@pagehtmlopen@@@') AND date_ >=#5/19/2004# AND date_ <=#5/31/2004# AND (Motore_Ricerca<>1 OR Motore_Ricerca=0 OR Motore_Ricerca is NULL) ) ) GROUP BY date_ ORDER BY date_ DESC ;

    Mi genera errore sul confronto della data.

    Esiste una condizione equivalente si per access e SQL Server ??

    Grazie (non vorrei approffittare troppo della tua cortesia)
    Scusatemi in anticipo per gli ORRORI di ortografica, ma sono analfabeta
    Electronic parts catalog
    Gestione cataloghi ricambio IPC
    Documentazione tecnica & manuali

  8. #8
    Utente di HTML.it L'avatar di albis
    Registrato dal
    May 2002
    Messaggi
    912
    ma le date sono fisse ?
    Forza la magica ROMA

  9. #9
    Vado subito al sodo.

    Il mio prblema di base (differenza fra access e SQL Server è che devo fare una query in contemporanea su due tabelle e su di esse estrapolare il risultato :

    La query che uso solitamente è la seguente :

    SELECT TOP 50 * FROM (SELECT date_, SUM(ToT) AS ToTF FROM (SELECT date_, COUNT(date_) AS ToT FROM Statistiche_User WHERE ( (key_marcatura<>'@@emailopen@@@') AND (key_marcatura<>'@@pagehtmlopen@@@') AND date_ >=#5/19/2004# AND date_ <=#5/31/2004# AND (Motore_Ricerca<>1 OR Motore_Ricerca=0 OR Motore_Ricerca is NULL) ) GROUP BY date_ UNION SELECT date_, COUNT(date_) AS ToT FROM Statistiche WHERE ( (key_marcatura<>'@@emailopen@@@') AND (key_marcatura<>'@@pagehtmlopen@@@') AND date_ >=#5/19/2004# AND date_ <=#5/31/2004# AND (Motore_Ricerca<>1 OR Motore_Ricerca=0 OR Motore_Ricerca is NULL) ) GROUP BY date_ ) GROUP BY date_ HAVING SUM(ToT) BETWEEN 1 AND 50 ) ORDER BY date_ DESC ;


    Dove devo effettuare una serie di indagini giorno per giorno relative agli accessi fra utenti anonimi e registrati (due tabelle Statistiche e Statistiche_User) e estrapolare i risultati compresi fra due estremi.

    Come diceco in access non ho problemi (e ci ho messo parecchi a preparare la logica della singola query [bella o brutta che sia] per non fare troppe query) ma adesso che devo far girare il tutto su SQL Server sto trovando una serie di inghippi.

    Scusatemi in anticipo per gli ORRORI di ortografica, ma sono analfabeta
    Electronic parts catalog
    Gestione cataloghi ricambio IPC
    Documentazione tecnica & manuali

  10. #10
    Cosa intendi per date fisse ???
    Scusatemi in anticipo per gli ORRORI di ortografica, ma sono analfabeta
    Electronic parts catalog
    Gestione cataloghi ricambio IPC
    Documentazione tecnica & manuali

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.