![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
||||
|
||||
|
la única opción que se me viene a la mente es utilizar una consulta dinámica con un procedimiento almacenado....
The Curse and Blessings of Dynamic SQL SQL Stored Procedure - update column/table names via variable
__________________
|
|
#2
|
|||
|
|||
|
Gracias ContraVeneno, probare en los link A ver si puedo lograr algo.
|
|
#3
|
||||
|
||||
|
Es normal que te devuelva eso, estás pasando un literal, la select está entrecomillada.
Puedes hacer una cosa: Una función Select a.Reci_Numero, a.Tipo_Codigo, a.Clte_Codigo, FUNCIONNOMBRE(b.clte_descripcion,b.Clte_Database) as Clte_Descripcion From Recibos_Ingresos a INNER JOIN Tabla_Tipos_Clientes b ON a.Tipo_Codigo = b.Tipo_Codigo siendo la funcion quien te devuelva el valor que obtiene (b.clte_descripcion) la select. Ahora, creo que te falta una pieza, que es el código del cliente (a.Clte_Codigo), ya que entiendo que dependerá el valor de lo que devuelva del valor del código. quedaría así la select modificada Select a.Reci_Numero, a.Tipo_Codigo, a.Clte_Codigo, FUNCIONNOMBRE(a.Clte_Codigo, b.clte_descripcion,b.Clte_Database) as Clte_Descripcion From Recibos_Ingresos a INNER JOIN Tabla_Tipos_Clientes b ON a.Tipo_Codigo = b.Tipo_Codigo siendo la función la que monte la select SELECT b.clte_descripcion FROM b.Clte_Database WHERE IDCLIENTE = a.Clte_Codigo y devuelva el dato. Nos cuentas. Saludos
__________________
Cuando los grillos cantan, es que es de noche - viejo proverbio chino - |
|
#4
|
|||
|
|||
|
Gracias por Contestar fjcg02, Hice mas o menos lo siguiente, pero me devuelve lo mismo:
CREATE FUNCTION BuscaCliente(@Clte_Codigo Integer, @Clte_Campo VarChar(40), @Clte_Database VarChar(40), @Tipo_Codigo Integer ) RETURNS VarChar(150) as BEGIN declare @Clte_Nombre as varchar(150) set @Clte_Nombre = ( Select ( ' Select ' + Rtrim(Clte_Descripcion) + ' From ' + Rtrim(Clte_Database) + ' Where ' + Rtrim(Clte_Codigo) + ' = ' + Cast( Clte_Codigo as Char(10))) From Tabla_Tipos_Clientes Where Tipo_Codigo = @Tipo_Codigo ) return @Clte_nombre end Select a.Reci_Numero, a.Tipo_Codigo, a.Clte_Codigo, dbo.BuscaCliente(a.Clte_Codigo, b.clte_descripcion, b.Clte_Database, b.Tipo_Codigo) as Clte_Descripcion From Recibos_Ingresos a INNER JOIN Tabla_Tipos_Clientes b ON a.Tipo_Codigo = b.Tipo_Codigo No se si estoy haciendo algo mal. |
|
#5
|
||||
|
||||
|
Hola,
no se SQL Server, pero basándome en lo que escribes, podría ser lo siguiente
Se supone que la select sólo devuelve un valor, por supuesto. Saludos
__________________
Cuando los grillos cantan, es que es de noche - viejo proverbio chino - |
|
#6
|
|||
|
|||
|
Aqui se produce un error:
Select @Clte_nombre=@Clte_Descripcion From @Clte_Database Where @Clte_Codigo =@Clte_Codigo From Tabla_Tipos_Clientes Where Tipo_Codigo = @Tipo_Codigo Server: Msg 170, Level 15, State 1, Procedure BuscaCliente, Line 9 Line 9: Incorrect syntax near '='. |
|
#7
|
||||
|
||||
|
No sé tanto SQLServer como para darte la unción hecha, y tampoco tengo ejemplos para mirar.
Podría ser que @Clte_nombre y @Clte_Descripcion no son del mismo tipo ( VARCHAR (150) ), aunque no estoy seguro. En Firebird la función es clara, se hace la SELECT campo from tabla where condicion INTO campo y la variable campo se devuelve. Mira a ver si encuentras información en la web. Saludos
__________________
Cuando los grillos cantan, es que es de noche - viejo proverbio chino - |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| Subconsulta con la misma tabla | krls | SQL | 5 | 05-04-2008 01:03:51 |
| Crear una Tabla SQL desde la Interfaz | Alejandro73 | SQL | 5 | 28-11-2006 18:03:18 |
| Crear tabla .BDF desde delphi | VRO | Conexión con bases de datos | 1 | 02-02-2005 18:08:54 |
| crear tabla desde una consulta sql... | ronimaxh | SQL | 6 | 27-07-2004 15:57:57 |
| Subconsulta a la misma tabla | apicito | SQL | 3 | 23-07-2004 21:24:24 |
|