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

mostrar valor de un mismo campo que se ejecuta de otra tabla

Estas en el tema de mostrar valor de un mismo campo que se ejecuta de otra tabla en el foro de SQL Server en Foros del Web. antes que nada agradezco de antemano su ayuda mi caso es el siguiente. tengo 3 tablas (c_cliente,th_pedido,th_subpedido) estoy haciendo una consulta donde me muestre algunos ...
  #1 (permalink)  
Antiguo 10/03/2009, 01:59
 
Fecha de Ingreso: marzo-2009
Mensajes: 1
Antigüedad: 15 años, 2 meses
Puntos: 0
mostrar valor de un mismo campo que se ejecuta de otra tabla

antes que nada agradezco de antemano su ayuda

mi caso es el siguiente.

tengo 3 tablas (c_cliente,th_pedido,th_subpedido)
estoy haciendo una consulta donde me muestre algunos pedidos para ello tengo que mostrar los siguientes campos.(c_cliente.id, th_pedido.nodepedido, c_cliente.usuario, th_pedido.destinatario,th_pedido.fecha de entrega)

la cuestion es la siguiente, c_cliente almacena dos campos (id, usuario) tiene todos los usuarios tanto usuario como destinatario.

th_pedido.destinatario es igual que c_cliente.id

este es un ejemplo al hacer mi consulta yo pido que me muestre la consulta de esta manera

pedido=12345
usuario=empresa1
destinatario=4568 (este valor que me esta dando es mi id pero yo quiero que me de el nombre del usuario y no el id)
fecha de entrega=010109

en breve, quiero que destinatario me muestre el nombre del usuario y no la id, como pueden ver el usuario esta en la tabla de c_cliente y destinatario en th_pedido.

pego mi codigo para explicarme mas


<%
Dim track1
track1 = Request.Form("track")

Dim Conn, rs, SQL, user
Dim nombre
'Creo el objeto Connection
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.open "DSN=reportes;uid=WMS;pwd=WMS;DATABASE=WMS"


'Mi sentencia SQL que extrae todos los campos de la tabla 'C_Cliente, , TH_Pedido.destinatario as C_Cliente.razonsocial'
SQL="SELECT *, C_CLIENTE.RAZONSOCIAL, TH_SubPedido.cve_usuario, TH_SubPedido.fol_folio FROM TH_Pedido INNER JOIN C_CLIENTE ON TH_Pedido.Cve_clte=C_Cliente.Cve_clte LEFT JOIN TH_SubPedido ON TH_Pedido.fol_folio=TH_SubPedido.fol_folio LEFT JOIN CAT_ESTADOS ON TH_Pedido.status=CAT_ESTADOS.ESTADO WHERE TH_Pedido.Fol_folio='"&track1&"'"

'Creo un Recordset (set rs) a partir de la ejecución de la consulta (oConn.Execute)
set rs = Conn.Execute(SQL)
'¿Esta vacío?
if rs.EOF then
Response.Write("Error verifique el numero de guía")
else
'Llamo al procedimiento que pinta la tabla
PintarTabla
end if

'Cierro el Recordset
rs.Close
'Destruyo el objeto
set rs = nothing
'Cierro la conexión
Conn.Close
'Destruyo la conexión
set Conn = nothing

'===========================================
Sub PintarTabla ()
'Utiliza el objeto rs abierto
'para pintar la tabla
'Fecha y Tiempo de Consulta
Response.Write( "Consulta efectuada el ")
Response.Write(NOW())

'La primera fila la escribo directamente, con
'los nombres de los campos
Response.Write( "<TABLE BORDER=""1"" bgcolor=""FFFFFF"">" & vbCrlf)
Response.Write( "<TR>" & vbCrlf)
Response.Write( "<TD><B>No. de Orden</B></TD>" & vbCrlf )
Response.Write( "<TD>" & rs.Fields("Fol_folio") & "</TD>" )
Response.Write( "</TR>" & vbCrlf)

'los nombres de los campos cliente y shipto
Response.Write( "<TABLE BORDER=""1"" bgcolor=""FFFFFF"">" & vbCrlf)
Response.Write( "<TR>" & vbCrlf)
Response.Write( "<TD><B>Cliente</B></TD>" & vbCrlf )
Response.Write( "<TD>" & rs.Fields("razonsocial") & "</TD>" )
Response.Write( "<TD><B>Ship To</B></TD>" & vbCrlf )
Response.Write( "<TD>" & rs.Fields("destinatario") & "</TD>" )
Response.Write( "</TR>" & vbCrlf)
'Hasta que llegue al final del recordset...
while not rs.EOF
'Imprimo una fila de la tabla
'para cada registro que encuentre
Response.Write( "<TR>" & vbCrlf )
Response.Write( "<TD><B>Fecha de Entrada</B></TD>" & vbCrlf )
Response.Write( "<TD>" & rs.Fields("Fec_Pedido") & "</TD>" )
Response.Write( "<TD><B>Fecha de Entrega</B></TD>" & vbCrlf )
Response.Write( "<TD>" & rs.Fields("Fec_Entrega") & "</TD>" )
Response.Write( "<TD>" & rs.Fields("Prioridad") & "</TD>" )
Response.Write( "<TD>" & rs.Fields("status") & "</TD>" )
Response.Write( "<TD>" & rs.Fields("descripcion") & "</TD>" )
Response.Write( "<TD>" & rs.Fields("HFR") & "</TD>" )
Response.Write( "</TR>" & vbCrlf )
'MUY IMPORTANTE!!!!!
'Pasamos al siguiente registro
rs.MoveNext
'Olvidarte esto significa que vas a imprimir
'siempre el mismo registro... Un bucle infinito!
wend
'Cierro la tabla
Response.Write("</TABLE>")

End Sub 'PintarTabla
'===========================================
%>

conclusion necesito que mi response.write (destinatario) me muestre su nombre y no su clave de id.

gracias por su ayuda
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 03:28.