Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » SQL Server »

Concatenar un string en una consulta

Estas en el tema de Concatenar un string en una consulta en el foro de SQL Server en Foros del Web. Hola mi pregunta es la siguiente Dentro de un procedure como podría hacer esto create procedure miprocedure @idioma as varchar(3) .... Select miText_+@idioma+ from miTabla ...
  #1 (permalink)  
Antiguo 21/10/2010, 10:26
 
Fecha de Ingreso: octubre-2006
Mensajes: 68
Antigüedad: 17 años, 5 meses
Puntos: 0
Concatenar un string en una consulta

Hola mi pregunta es la siguiente

Dentro de un procedure

como podría hacer esto

create procedure miprocedure

@idioma as varchar(3)
....

Select miText_+@idioma+ from miTabla

...

La idea es passarle el idioma y que busque en el campo correspondiente de una tabla
  #2 (permalink)  
Antiguo 21/10/2010, 10:31
Avatar de flaviovich  
Fecha de Ingreso: agosto-2005
Ubicación: Lima, Peru
Mensajes: 2.951
Antigüedad: 18 años, 8 meses
Puntos: 39
Respuesta: Concatenar un string en una consulta

No sería así?
Código SQL:
Ver original
  1. CREATE PROCEDURE miprocedure
  2. @idioma AS VARCHAR(3)
  3. AS
  4.  
  5. SELECT miText_ FROM miTabla WHERE idioma = @idioma
__________________
No repitamos temas, usemos el Motor de busquedas
Plantea bien tu problema: Ayúdanos a ayudarte.
  #3 (permalink)  
Antiguo 21/10/2010, 10:40
 
Fecha de Ingreso: octubre-2006
Mensajes: 68
Antigüedad: 17 años, 5 meses
Puntos: 0
Respuesta: Concatenar un string en una consulta

No, creo que no me he explicado bien
La tabla es así

CREATE TABLE miTabla (
mId [int] IDENTITY(1,1) NOT NULL,
miText_Sp [nvarchar](250) NULL,
miText_Eng [nvarchar](250) NULL,
mikey_Sp [nvarchar](250) NULL,
...)

Yo lo que quiero es hacer un procedure, de esta tabla concatenar la consulta para printar solo los que acaban en el idioma
@idiomas
Select miText_@Idioma, mikey_@idioma from mitabla where ....

De manera que si el valor de idioma es 'Sp'
haga la siguiente consulta

Select miText_Sp, mikey_Sp from mitabla where miId=25
  #4 (permalink)  
Antiguo 21/10/2010, 10:42
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 8 meses
Puntos: 774
Respuesta: Concatenar un string en una consulta

Para hacer lo que quieres es asi


Código:
declare @idioma as varchar(20)
declare @query as varchar(max)

set @idioma='esp'
set @query='select mitext_' + @idioma + ' from tabla where id=1'
exec Sp_sqlExec @query

saludos!
  #5 (permalink)  
Antiguo 21/10/2010, 10:52
 
Fecha de Ingreso: octubre-2006
Mensajes: 68
Antigüedad: 17 años, 5 meses
Puntos: 0
Respuesta: Concatenar un string en una consulta

ok,
mil gracias ahora lo pruebo
  #6 (permalink)  
Antiguo 21/10/2010, 11:04
Avatar de flaviovich  
Fecha de Ingreso: agosto-2005
Ubicación: Lima, Peru
Mensajes: 2.951
Antigüedad: 18 años, 8 meses
Puntos: 39
Respuesta: Concatenar un string en una consulta

Te recomendaria hacerlo de esta forma:
Código SQL:
Ver original
  1. CREATE PROCEDURE miprocedure
  2. @idioma AS VARCHAR(3)
  3. AS
  4.  
  5. DECLARE @query AS nvarchar(MAX)
  6.  
  7. SET @query = 'select mitext_'+@idioma+', mikey_'+@idioma+' from tabla where miId = 25'
  8.  
  9. EXEC sp_executesql @query
__________________
No repitamos temas, usemos el Motor de busquedas
Plantea bien tu problema: Ayúdanos a ayudarte.
  #7 (permalink)  
Antiguo 22/10/2010, 02:25
 
Fecha de Ingreso: octubre-2006
Mensajes: 68
Antigüedad: 17 años, 5 meses
Puntos: 0
Respuesta: Concatenar un string en una consulta

Ahora lo cambio

gracias

Etiquetas: concatenar, string
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 01:44.