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

Asignar valores a una variable

Estas en el tema de Asignar valores a una variable en el foro de SQL Server en Foros del Web. Hola a todos como estan... bueno yo aca les tengo una consulta espero ke me ayuden. Supongamos que tengo la siguiente tabla: tabla1 Codigo Valor ...
  #1 (permalink)  
Antiguo 05/12/2007, 18:25
 
Fecha de Ingreso: diciembre-2007
Mensajes: 8
Antigüedad: 16 años, 5 meses
Puntos: 0
Asignar valores a una variable

Hola a todos como estan...
bueno yo aca les tengo una consulta espero ke me ayuden.
Supongamos que tengo la siguiente tabla:


tabla1

Codigo Valor
--------------------------------------------
C01 01
C01 02
C02 03
C02 01
C02 02
C03 04
C04 01
C06 02

ahora yo hago lo siguiente

Declare @var1 varchar(2)

set @var1 = select valor from tabla1 where codigo = 'C01'

Es de notar que esta operación me dara un mensaje de error ya que hay en la tabla para el Codigo "C01" existen multiples "valores"

Entonces alguno de ustedes me puede dar alguna sugerencia para esto ya que necesito capturar todas las alternativas que de como respuesta esa instrucción.

Gracias
  #2 (permalink)  
Antiguo 05/12/2007, 22:47
Avatar de iHans  
Fecha de Ingreso: octubre-2007
Mensajes: 27
Antigüedad: 16 años, 6 meses
Puntos: 0
Re: Asignar valores a una variable

Puede haber varias formas de lograr algo así, pero depende de que es lo que quieres realizar, da más información sobre lo que quieres lograr para poder ayudarte.

Saludos.
  #3 (permalink)  
Antiguo 06/12/2007, 07:22
Avatar de Andres95
Colaborador
 
Fecha de Ingreso: diciembre-2004
Mensajes: 1.802
Antigüedad: 19 años, 5 meses
Puntos: 38
Re: Asignar valores a una variable

Si quieres que no truene entonces asigna el valor de esta forma:

Código:
set @var1 = valor from tabla1 where codigo = 'C01'
con esto @var1 quedará con el ultimo valor leido de la tabla que cumpla con la condicion where, para asegurar el order se requeriria agregar un order by...

Saludos!
__________________
La sencillez y naturalidad son el supremo y último fin de la cultura...
--
MCTS : SQL Server 2008, .NET Framework 3.5, ASP.NET Applications.
  #4 (permalink)  
Antiguo 06/12/2007, 12:40
Avatar de Sir Matrix  
Fecha de Ingreso: octubre-2000
Ubicación: Dentro de mi cabeza. ono?
Mensajes: 1.264
Antigüedad: 23 años, 7 meses
Puntos: 3
Re: Asignar valores a una variable

lo otro es hacer:

select @var1=@var1 + ',' + str(valor) from tabla1 where codigo = 'C01'

ahi te concatenará todos los valores encontrados. Pero como decían más arriba(o abajo), depende de lo que quieras lograr
__________________
|||| ))>_<(( ||||
www.webmagic.cl <-- esta pagina está mala, no la busquen
  #5 (permalink)  
Antiguo 06/12/2007, 13:32
 
Fecha de Ingreso: diciembre-2007
Mensajes: 8
Antigüedad: 16 años, 5 meses
Puntos: 0
Re: Asignar valores a una variable

Ante todo gracias por sus respuestas...

Lo que necesito es capturar cada una de los valores para luego transformarmar la estructra de la tabla es decir

de


CODIGO VALOR
C1 01
C1 02
C1 04
C2 01
C3 02
C3 03


PASAR A ALGO ASI



CODIGO R1 R2 R3
---------------------------------------------
C1 01 02 04
C2 01
C3 02 03


GRACIAS POR SU AYUDA
  #6 (permalink)  
Antiguo 06/12/2007, 14:55
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 16 años, 10 meses
Puntos: 180
Re: Asignar valores a una variable

Hice un ejercicio, espero que sirva para el objetivo que se desea alcanzar, saludos

Cita:
create table Tabla (Id_ReferenciaFK char(3), Autor varchar(10))
go

insert into Tabla values('C1','01')
insert into Tabla values('C1','02')
insert into Tabla values('C1','04')
insert into Tabla values('C2','01')
insert into Tabla values('C3','02')
insert into Tabla values('C3','03')
go

CREATE FUNCTION agrupa (@clave char(3))
RETURNS varchar(50)

AS

BEGIN
DECLARE @autor VARCHAR(50)
SET @autor = ''
SELECT @autor = @autor + rtrim(ltrim(autor)) + ', ' FROM Tabla WHERE Id_ReferenciaFK = @clave
RETURN @autor
END
GO

SELECT DISTINCT Id_ReferenciaFK, dbo.agrupa(Id_ReferenciaFK)
FROM Tabla

drop function agrupa
drop table tabla
  #7 (permalink)  
Antiguo 06/12/2007, 19:02
 
Fecha de Ingreso: diciembre-2007
Mensajes: 8
Antigüedad: 16 años, 5 meses
Puntos: 0
Re: Asignar valores a una variable

Gracias Por La Respuesta Pero No Es Lo Que Busco Tu Estas Agrupando Pero Eso No Es Lo Que Busco ,

Lo Que Trato Es De Asignar Las Respuestas A Tres Campos Distintos
  #8 (permalink)  
Antiguo 07/12/2007, 08:57
Avatar de Andres95
Colaborador
 
Fecha de Ingreso: diciembre-2004
Mensajes: 1.802
Antigüedad: 19 años, 5 meses
Puntos: 38
Re: Asignar valores a una variable

tienes un maximo de campos Rx o los deseas construir al vuelo?...

Saludos!
__________________
La sencillez y naturalidad son el supremo y último fin de la cultura...
--
MCTS : SQL Server 2008, .NET Framework 3.5, ASP.NET Applications.
  #9 (permalink)  
Antiguo 07/12/2007, 11:38
 
Fecha de Ingreso: diciembre-2007
Mensajes: 8
Antigüedad: 16 años, 5 meses
Puntos: 0
Re: Asignar valores a una variable

Bueno yo ya se que en la mayoria de hay hasta cuatro campos algunos tienen menos
  #10 (permalink)  
Antiguo 07/12/2007, 13:47
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 16 años, 10 meses
Puntos: 180
Re: Asignar valores a una variable

NEOXL

Por eso mi aclaracion, "Hice un ejercicio", pensando que tal vez este, podria servir para construir el objetivo final.

Asignar un NUMERO (X) de variables lo veo dificil, aunque espero la respuesta de Andres95
  #11 (permalink)  
Antiguo 07/12/2007, 14:43
Avatar de Andres95
Colaborador
 
Fecha de Ingreso: diciembre-2004
Mensajes: 1.802
Antigüedad: 19 años, 5 meses
Puntos: 38
Re: Asignar valores a una variable

El campo valor tiene longitud fija? algo como los dos caracteres de tu ejemplo?? 01, 02, 03...

Si es asi, se puede utilizar la propuesta de iislas, y separar calculando la posicion de los valores para insertar en la tabla...

Saludos!
__________________
La sencillez y naturalidad son el supremo y último fin de la cultura...
--
MCTS : SQL Server 2008, .NET Framework 3.5, ASP.NET Applications.
  #12 (permalink)  
Antiguo 07/12/2007, 16:01
 
Fecha de Ingreso: diciembre-2007
Mensajes: 8
Antigüedad: 16 años, 5 meses
Puntos: 0
Re: Asignar valores a una variable

siyo ya habia pensado en eso en juntarlo todo en uno solo y luego separarlo por longitud de caracter pero el problema esta en que en la tabla que tengo estos varian de 4 a 6 digitos
  #13 (permalink)  
Antiguo 07/12/2007, 16:16
Avatar de Andres95
Colaborador
 
Fecha de Ingreso: diciembre-2004
Mensajes: 1.802
Antigüedad: 19 años, 5 meses
Puntos: 38
Re: Asignar valores a una variable

ok, podrias tomar como base los 6 digitos concatenando espacios a la derecha...
o algun otro caracter que puedas identificar para despues eliminar...

supongo que este proceso no sera de diario asi que no habria mucho problema...
__________________
La sencillez y naturalidad son el supremo y último fin de la cultura...
--
MCTS : SQL Server 2008, .NET Framework 3.5, ASP.NET Applications.
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 07:29.