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

    controllo doppie registrazioni

    ciao,
    vi scrivo per chiedervi una mano sul seguente problema:

    ho un form di registrazione in 2 step:
    1 step: richiedo dei dati generici (indirizzo, mail, azienda, numro di persone da registrare)
    2 step: richiedo nome e cognome di ogni persona.

    al termine della compilazione invio un biglietto elettronico per partecipare ad un evento.

    il problema è il seguente: alcuni visitatori si sono iscritti all'evento più volte (stessi dati) per vari motivi.

    a me servirebbe di costruire una query che mi dia un elenco dei nominativi doppi, cioè tutte le persone che hanno inserito la stessa mail, lo stesso nome e lo stesso cognome più volte per poter eliminare le registrazioni doppie e liberare i posti disponibili per l'evento.

    mi sto scervelland da un po sulla query da utilizzare, ma ottengo sempre errori su qualche clausola, opure non riesco ad estrarre gli id dei doppioni.

    ho provato utilizzando having con le varie clausole di group by, ma con risultati anomali...

    ad esempio

    codice:
    SELECT 
    	nome, COUNT(nome) AS cnome 
    FROM 
    	myTableName
    GROUP BY 
    	nome 
    HAVING 
    	(COUNT(nome) > 1)
    mi restituisce la lista dei nomi e le relative occorrenze, però se provo ad aggiungere l'id alla lista dei campi mi da un errore sull'id che non è incluso in una funzione di aggregazione o nella clausola group by.

    la mia idea era quella di utilizzare delle subselect con having per verificare tutti gli id presenti nelal lista di nomi, cognomi ed email doppie però temo di essermi perso qualcosa (soprattutto perchè sono un po di anni che non lavoro su SQL e non riesco a trovare un manuale decente)

    l'ambiente è un server windows con mssql server (non so dirvi che edizione, ma è abbastnaza recente visto che il tutto è in piedi da 3 o 4 anni al massimo).

    sapete indirizzarmi verso la soluzione a questo problemone?

    grazie
    l

  2. #2

  3. #3
    grazie, ma purtroppo il server mi risponde picche...
    Il costrutto o l'istruzione SQL OVER non è supportato.

  4. #4
    controlla la versione di sql, è importante

  5. #5
    Originariamente inviato da optime
    controlla la versione di sql, è importante
    sai dirmi dove lo vedo? se faccio "informazioni su" mi dice

    microsoft SQL SERVER 2005
    Microsoft SQL Server Management Studio 9.00.1399.00
    Strumenti client di Microsoft Analysis Services 2005.090.1399.00
    Microsoft Data Access Components (MDAC) 2000.086.3959.00 (srv03_sp2_rtm.070216-1710)
    Microsoft MSXML 2.6 3.0 6.0
    Microsoft Internet Explorer 8.0.6001.18702
    Microsoft .NET Framework 2.0.50727.3615
    Sistema operativo 5.2.3790
    da phpinfo non vedo nulla sulla versione di mssql

  6. #6
    over è perfettamente compatibile con sql 2005

  7. #7
    Originariamente inviato da optime
    over è perfettamente compatibile con sql 2005
    potrebbe essere qualche impostazione customizzata? perchè il messaggio sopra è relativo proprio all'istruzione OVER...


    EDIT: modificando la query non da più problemi su OVER, però non capisco a cosa si riferisca rowNumber

    codice:
    SELECT  ROW_NUMBER(OVER(PARTITION BY nome ORDER BY nome)) AS [RowNumber] FROM  myTableName
    è il numero di riga o il numero di righe duplicate presenti o altro?

  8. #8
    nell'articolo mi pare sia spiegato abbastanza bene. cosa non ti è chiaro?

  9. #9
    Originariamente inviato da optime
    nell'articolo mi pare sia spiegato abbastanza bene. cosa non ti è chiaro?
    non mi è chiaro perchè mimetta delle robe tipo

    rownumber | nome
    -----------------------
    1 | marco
    2 | marco
    3 | marco
    4 | marco
    5 | marco

    che non capisco se sia un id o cosa...

  10. #10
    rownumber è il numero di riga (che fantasia!) a cosa serva è ben spiegato nell'articolo

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.