porque cuando pongo esta linea
ROW_NUMBER() OVER(ORDER BY codTarea) AS 'ord', me aparecen 7 registros y cuado lo quito me muestra 5 registros que es lo correcto????
GRACIAS
| |||
se duplican registros con el row_number porque cuando pongo esta linea ROW_NUMBER() OVER(ORDER BY codTarea) AS 'ord', me aparecen 7 registros y cuado lo quito me muestra 5 registros que es lo correcto???? GRACIAS |
| |||
Respuesta: se duplican registros con el row_number ¿Puede se que tu instrucción incluye el comando DISTINCT? En este caso las lineas ya no son distintas debido al Row_Number, y todas aparecen. Si este es el problema, utiliza DENSE_RANK en lugar de ROW_NUMBER.
__________________ El Castellano no es mi lengua materna: discúlpenme por los errores gramaticales. Mi blog |
| |||
Respuesta: se duplican registros con el row_number Cita: hola Geri, lo unico que quiero es hacer un correlativo nada mas, pero veo que no se puede en sqlserverGracias por tu respuesta, pero con el dense_rank me salen los numeros son repetitivos |
| |||
Respuesta: se duplican registros con el row_number asi sale 7 registros select ROW_NUMBER() OVER(ORDER BY desTarea) AS 'ord' , cod_tar codTarea, des_tar desTarea, isnull(mo.ene,0) ene, isnull(mt.feb,0) feb,isnull(mt.mar,0) mar,isnull(mt.abr,0) abr,isnull(mt.may,0) may,isnull(mt.jun,0) jun, isnull(mt.jul,0) jul, isnull(mt.ago,0) ago,isnull(mt.sep,0) sep,isnull(mt.oct,0) oct,isnull(mt.nov,0) nov,isnull(mt.dic,0) dic, u.des_ume_acti des_med, isnull(mo.ene+mo.feb+mo.mar+mo.abr+mo.may+mo.jun+m o.jul+mo.ago+mo.sep+mo.oct+mo.nov+mo.dic,0) totTarea, mt.ene+mt.feb+mt.mar+mt.abr+mt.may+mt.jun+mt.jul+m t.ago+mt.sep+mt.oct+mt.nov+mt.dic tottar, ubigeo into #tmpRepoTarea from metatarea mt left join modsoltarea mo on mt.id_tar = mo.idTar left join unidadmedida_acti u on u.id_ume_acti = mt.id_ume_acti left join meta me on me.id_met = mt.id_met left join ubica ub on ub.coddep+ub.codpro+ub.coddis = me.coddep+mt.codpro+mt.coddis where mt.id_met=$idMet and mt.estado_tar='0' order by des_tar asc asi sales 5 que es lo correcto: select distinct cod_tar codTarea, des_tar desTarea, isnull(mo.ene,0) ene, isnull(mt.feb,0) feb,isnull(mt.mar,0) mar,isnull(mt.abr,0) abr,isnull(mt.may,0) may,isnull(mt.jun,0) jun, isnull(mt.jul,0) jul, isnull(mt.ago,0) ago,isnull(mt.sep,0) sep,isnull(mt.oct,0) oct,isnull(mt.nov,0) nov,isnull(mt.dic,0) dic, u.des_ume_acti des_med, isnull(mo.ene+mo.feb+mo.mar+mo.abr+mo.may+mo.jun+m o.jul+mo.ago+mo.sep+mo.oct+mo.nov+mo.dic,0) totTarea, mt.ene+mt.feb+mt.mar+mt.abr+mt.may+mt.jun+mt.jul+m t.ago+mt.sep+mt.oct+mt.nov+mt.dic tottar, ubigeo into #tmpRepoTarea from metatarea mt left join modsoltarea mo on mt.id_tar = mo.idTar left join unidadmedida_acti u on u.id_ume_acti = mt.id_ume_acti left join meta me on me.id_met = mt.id_met left join ubica ub on ub.coddep+ub.codpro+ub.coddis = me.coddep+mt.codpro+mt.coddis where mt.id_met=$idMet and mt.estado_tar='0' order by des_tar asc GRACIAS |
| |||
Respuesta: se duplican registros con el row_number 1. En la primera recuperación no aparece el operador Distinct, y en la segunda - sí. 2. También con Distinct - la primera te va a devolver 7 filas porque cada una obtendra otro número. 3. Con Dense_Rank - filas con la misma "desTarea" obtendran mismos números, y con el operador Distinct la recuperación te va a devolver 5 filas. 4. Me parece que intntaste Dense_Rank sin el operador Distinct, y por lo tanto te devolvio 7 filas con numeros repetidos.
__________________ El Castellano no es mi lengua materna: discúlpenme por los errores gramaticales. Mi blog |
| ||||
Respuesta: se duplican registros con el row_number y porque no usas partition en tu row_number??
__________________ What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me |
Etiquetas: |