Ho un problema con le distinct su un db mssql.
Ho una query su più campi, e vorrei che venissero rimossi i duplicati, per poi copiarli in un'altra tabella.
Ho provato così:
codice:
$sql="insert into PROGRESS_TBL_PROGETTO_ATTIVITA_SETTIMANA(id_progetto_attivita,descrizione,ore,settimana,anno,insert_quando) select distinct PROGRESS_TBL_PROGETTO_ATTIVITA_SETTIMANA.id_progetto_attivita,PROGRESS_TBL_PROGETTO_ATTIVITA_SETTIMANA.descrizione, PROGRESS_TBL_PROGETTO_ATTIVITA_SETTIMANA.ore," . $numsett . "," . $anno . ",'" . time() . "' from PROGRESS_TBL_PROGETTO_ATTIVITA_SETTIMANA, PROGRESS_TBL_COL_UTENTI_PROGETTI,PROGRESS_TBL_PROGETTO_ATTIVITA where id_progetto_attivita_status not in (1,6) and PROGRESS_TBL_COL_UTENTI_PROGETTI.id_prog_utente=PROGRESS_TBL_PROGETTO_ATTIVITA.id_prog_utente and PROGRESS_TBL_PROGETTO_ATTIVITA.id_progetto_attivita=PROGRESS_TBL_PROGETTO_ATTIVITA_SETTIMANA.id_progetto_attivita and PROGRESS_TBL_COL_UTENTI_PROGETTI.id_iamme_admin=" . $_SESSION['id'];
mssql_query($sql,$connessione) or die("Query non valida: " . mssql_error());
Ma mi appare il seguente errore
Warning: mssql_query() [function.mssql-query]: message: Impossibile selezionare il tipo di dati text, ntext o image come DISTINCT. (severity 16) in C:\Programmi\EasyPHP 2.0b1\www\imagine\sett_duplica.php on line 50
Allora ho provato a fare la distinct solo sul campo id_progetto_attivita che è un numerico così
codice:
......
select distinct(PROGRESS_TBL_PROGETTO_ATTIVITA_SETTIMANA.id_progetto_attivita),PROGRESS_TBL_PROGETTO_ATTIVITA_SETTIMANA.descrizione, PROGRESS_TBL_PROGETTO_ATTIVITA_SETTIMANA.ore..........
Ma dà sempre lo stesso errore.
Come posso fare? Come si può fare la distinct solo su un campo ed estrarne altri oltre a quello? Cioè fare la distinct solo sull'id_progetto_attivita ma estrarre anche tutti gli altri campi?
Grazie