none
Como seleccionar varios registros RRS feed

  • Pregunta

  • Hola estoy bloqueadisimo (se que es facil pero si me pueden ayudar)

    tengo esta tabla

    id  numero  DNI   

    1       23      26
    2       26      15
    3       37      18
    4       41      26
    5       23      52
    6       18      45
    7       23      34
    8       12      34
    9       37      22

    estoy haciendo un procedimiento almacenado donde yo pongo el numero y me devuelve el identificador

    o sea si pongo 26 me devuelve 15, si pongo 12 me devuelve 34, el problema es si pongo 23 quiero que me devuelva todos los 

    identificadores o sea 26 52 34

    use

    select identificador1 from nombredelatabla where numero = 23

    pero solo me devuelve 34 el ultimo valor, la pregunta es como hago la consulta para que me devuelva todos los datos

    select STUFF((SELECT CAST(' ' AS varchar(MAX)) + DNI FROM TablaAsociativa where numero = 23 FOR XML PATH('') ), 1, 1, '') as  CadenaCodigos

    se almacenan los datos en el alias cadenacodigos, pero no puedo pasarlos a una variable
    • Editado GustavoRom sábado, 20 de enero de 2018 7:24
    sábado, 20 de enero de 2018 6:33

Respuestas

  • Están bien las dos formas en que lo haces. SQL Server devolverá en el primer caso varios registros con todos los identificadores pedidos, y en el segundo caso una única cadena con todos ellos. Así que desde el punto de vista de SQL Server (que es el foro en el que preguntaste) es correcto lo que haces. Si no consigues pasarlo a una variable, el problema tiene que estar en el código cliente (no en SQL Server).
    • Marcado como respuesta GustavoRom sábado, 20 de enero de 2018 19:54
    sábado, 20 de enero de 2018 10:34

Todas las respuestas

  • Están bien las dos formas en que lo haces. SQL Server devolverá en el primer caso varios registros con todos los identificadores pedidos, y en el segundo caso una única cadena con todos ellos. Así que desde el punto de vista de SQL Server (que es el foro en el que preguntaste) es correcto lo que haces. Si no consigues pasarlo a una variable, el problema tiene que estar en el código cliente (no en SQL Server).
    • Marcado como respuesta GustavoRom sábado, 20 de enero de 2018 19:54
    sábado, 20 de enero de 2018 10:34
  • Hola podrias hacerlo de este modo.

    SELECT identificador1 FROM nombredelatabla WHERE numero LIKE = '%23%'.


    David Castaneda. CCS - VENEZUELA.

    • Propuesto como respuesta CastanedaVE martes, 23 de enero de 2018 15:24
    martes, 23 de enero de 2018 15:22