Estás en: Inicio >> Foros >> Informática >> Programación
Programación /

Valor autoincremental en un SELECT

Participa en el tema Valor autoincremental en un SELECT en el foro Programación.
Hola, necesito en una consulta de MS-SQL 2000 poder hacer un valor autoincremental, por favor ...

Buscar en este tema:
 
  •  
    Mesgal escribió hace 1 mes
     
    ¿Mensaje inapropiado?
    #1 Valor autoincremental en un SELECT
    Hola, necesito en una consulta de MS-SQL 2000 poder hacer un valor autoincremental, por favor que alguien me ayude, aca dejo una tablita de ejemplo:

    SELECT (funciona para autoincrementar) [campo1],
    campo2,
    campo3,
    campo4
    FROM miTabla

    campo1 campo2 campo3 campo4
    1 Juan 23 M
    2 Marcos 22 M
    3 Julia 44 F

    El "campo1" no existe, lo estoy creando dentro del SELECT, puede ser el valor de la fila o un valor que se autoincremente, probé de las 2 formas pero no tuve suerte.

    Saludos y gracias.
    +
     
    0
    Me gusta
     
    | Más
  • #2 Re: Valor autoincremental en un SELECT

    a campo1 lo tenes que setear como identity despues al insertar haces un insert mitabla(campo2,...) values( 'juan'....)
    Me gusta este mensaje
  • #3 Re: Valor autoincremental en un SELECT

    Hola osqar, antes que nada te agadezco la respuesta.
    La tabla a la que le hago el SELECT no tiene ningun campo IDENTITY, por eso lo tengo que 'simular' a la hora de hacer un SELECT.

    Saludos.
    Me gusta este mensaje
  • #4 Re: Valor autoincremental en un SELECT

    Originalmente publicado por Mesgal Ver mensaje
    Hola osqar, antes que nada te agadezco la respuesta.
    La tabla a la que le hago el SELECT no tiene ningun campo IDENTITY, por eso lo tengo que 'simular' a la hora de hacer un SELECT.

    Saludos.
    No tenes que simularlo solamente ir y señalar a campo 1 como identity, si ya tenes datos fijate que el identity comience desde el ultimo id + 1 para que no colisione.
    Me gusta este mensaje
  • #5 Re: Valor autoincremental en un SELECT

    Es algo medio jodido lo que pedís, pero no imposible, dejame que busque en mi biblioteca de codigo y te lo paso, una vez tuve que hacer exactamente lo mismo.

    Saludos
    Me gusta este mensaje
  • #6 Re: Valor autoincremental en un SELECT

    Originalmente publicado por Mesgal Ver mensaje
    Hola, necesito en una consulta de MS-SQL 2000 poder hacer un valor autoincremental, por favor que alguien me ayude, aca dejo una tablita de ejemplo:

    SELECT (funciona para autoincrementar) [campo1],
    campo2,
    campo3,
    campo4
    FROM miTabla

    campo1 campo2 campo3 campo4
    1 Juan 23 M
    2 Marcos 22 M
    3 Julia 44 F

    El "campo1" no existe, lo estoy creando dentro del SELECT, puede ser el valor de la fila o un valor que se autoincremente, probé de las 2 formas pero no tuve suerte.

    Saludos y gracias.
    Mesgal, te paso un par de posibles soluciones de ejemplo, esta primera funciona solamente con ordenamiento y la lógica consiste en hacer un join de la tabla consigo misma y contar elementos de columna menores o iguales al actual, te puede ser útil aunque tiene algunas restricciones, en este caso si la columna Campo1 se repite cuenta mal, por eso el join se hace sobre dos "select distinct":

    select fila=count(*), t1.Campo1
    from
    (select distinct Campo1 from miTabla) t1,
    (select distinct Campo1 from miTabla) t2
    where
    t1.Campo1>=t2.Campo1
    group by
    t1.Campo1
    order by
    fila

    Esta es otra forma, para SQL 2005 con la función Rank(), más sencilla pero tiene la misma restricción de ordenamiento:

    select
    rank() over (order by t1.Campo1) as fila, t1.Campo1
    from
    (select distinct Campo1 from miTabla) t1
    order by
    fila

    Espero te sirva la idea, cualquier cosa pegá el grito
    Saludos
    Editado por Perrosaurio - 10.11.2009 17:13 hs.
    Me gusta este mensaje
  • #7 Re: Valor autoincremental en un SELECT

    Gracias Perrosaurio, lo pruebo y te aviso.

    Saludos.
    Me gusta este mensaje
Estás en: Inicio >> Foros >> Informática >> Programación


Estadísticas del tema
  • 6 RESPUESTAS
  • 188 VISTAS
  • 4 USUARIOS RESPONDIERON
 
Ir arriba
Contacto | Acerca de | Ayuda | Términos Legales | privacidad | Pautas de convivencia | Mapa de los foros | TrabajÁ con nosotros
©2008 Psicofxp.com S.A. - Todos los derechos reservados
Certifica IAB