Nome colonna non valido

di il
3 risposte

Nome colonna non valido

Salve ragazzi molto probabilmente sto commettendo un errore banale, ma sono un novellino e non ne riesco a venire a capo.
Siccome mi si presentano righe ripetute ho pensato di mettere una ROW_NUMBER nel select in modo che a fine codice mi bastasse fare il contatore < 2 cosi da ottenere solo una volta le righe che si ripetono.
Il codice va tutto bene anche con il ROW_NUMBER conta bene le righe interessate. Ma a fine codice non mi riconosce la colonna della row_num. Ho fatto cosi
Select
...
Rep= ROW_NUMBER() OVER(PARTITION BY ... ORDER BY (...))
From
...
Where 
Rep < 2
E mi compare l'errore.

3 Risposte

  • Re: Nome colonna non valido

    A quanto so io non puoi poiché la WHERE viene eseguita prima della SELECT e quindi gli alias ancora non esistono.
    Puoi annidare però la query: [CODE]Select T.* From (Select ... Rep= ROW_NUMBER() OVER(PARTITION BY ... ORDER BY (...)) From ... Where...) as T Where T.Rep < 2
  • Re: Nome colonna non valido

    Devi STUDIARTI un po' meglio "SQL" e la "teoria relazionale dei dati"

    Per RIMUOVERE le righe duplicate, si usa "SELECT DISTINCT ... "

    Il problema, caso mai, e' PERCHE' sono duplicate???

    Ovviamente non devi rispondere qui, ma ACCERTARTI che la duplicazione non sia risultato di qualche errore di ragionamento
  • Re: Nome colonna non valido

    migliorabile ha scritto:


    Per RIMUOVERE le righe duplicate, si usa "SELECT DISTINCT ... "
    Focca la bindella... Son talmente brasato che non lo avevo notato.
Devi accedere o registrarti per scrivere nel forum
3 risposte