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

[SOLUCIONADO] Select

Estas en el tema de Select en el foro de SQL Server en Foros del Web. Hola a Todos espero que se encuentre bien, primera vez que acudo a un foro para preguntar algo espero que me ayuden, me encuentro haciendo ...
  #1 (permalink)  
Antiguo 16/08/2013, 14:01
Avatar de EderBarriosCamargo  
Fecha de Ingreso: marzo-2013
Mensajes: 55
Antigüedad: 11 años, 8 meses
Puntos: 0
Select

Hola a Todos espero que se encuentre bien, primera vez que acudo a un foro para preguntar algo espero que me ayuden, me encuentro haciendo un software de pedidos, clientes vendedores,pedidos georeferenciados etc....
Mi inquietud esta en que tengo la siguiente tabla
Cliente.
IdCliente-Nombre-Apellido-vendedorIns-VendedoresLic..

-----------------------------------------------------------------
Vendedores.
IdVendedor-NombreVendedores-Dir...

------------------------------------------------------------------

Mi pregunta es vendedorIns-VendedoresLic de la tabla cliente son claves que apuntan a la tabla Vendedores es decir es el Id-vendedor que fue asignado a ese cliente. Deseo que en mi consulta salgan los nombre de los dos vendedores. Por ahora lo que puedo hacer es tomar el valor de un solo vendedores mas no de los dos a la vez.

Motor de bases de Datos SQLSERVER 2008
Gracias por su ayuda de antemano
  #2 (permalink)  
Antiguo 16/08/2013, 14:39
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 18 años, 3 meses
Puntos: 774
Respuesta: Select

con un
Código SQL:
Ver original
  1. SELECT t2.nombre,t3.nombre FROM tabla1 AS t1
  2. LEFT JOIN tabla2 AS t2 ON (t1.id1=t2.id)
  3. LEFT JOIN tabla2 AS t3 ON (t1.id2=t3.id)


saludos!
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #3 (permalink)  
Antiguo 16/08/2013, 14:46
 
Fecha de Ingreso: febrero-2013
Ubicación: Lima
Mensajes: 301
Antigüedad: 11 años, 9 meses
Puntos: 5
Respuesta: Select

asumo que te refieres a algo como esto:
Código SQL:
Ver original
  1. CREATE TABLE #cliente(
  2. IdCliente VARCHAR(5),
  3. Nombre VARCHAR(50),
  4. IdVendedor VARCHAR(5)
  5. )
  6. CREATE TABLE #vendedor(
  7. IdVendedor VARCHAR(5),
  8. NombreVendedores VARCHAR(50),
  9. DirVendedor VARCHAR(50)
  10. )
  11. INSERT INTO #cliente VALUES('CL001','PEDRO','VN001')
  12. INSERT INTO #cliente VALUES('CL002','JUAN','VN003')
  13. INSERT INTO #cliente VALUES('CL003','JOEL','VN001')
  14. INSERT INTO #vendedor VALUES('VN001','SARA','AV ROSARIO #1548')
  15. INSERT INTO #vendedor VALUES('VN003','XIANA','AV GARCILAZO # 214')
  16.  
  17. SELECT A.*, B.*
  18. FROM #cliente A INNER JOIN #vendedor B
  19. ON A.IdVendedor = B.IdVendedor
__________________
Lo que no se....tampoco creo saberlo....
  #4 (permalink)  
Antiguo 16/08/2013, 15:35
Avatar de EderBarriosCamargo  
Fecha de Ingreso: marzo-2013
Mensajes: 55
Antigüedad: 11 años, 8 meses
Puntos: 0
Respuesta: Select

Cita:
Iniciado por Libras Ver Mensaje
con un
Código SQL:
Ver original
  1. SELECT t2.nombre,t3.nombre FROM tabla1 AS t1
  2. LEFT JOIN tabla2 AS t2 ON (t1.id1=t2.id)
  3. LEFT JOIN tabla2 AS t3 ON (t1.id2=t3.id)


saludos!
Saludos Libras, Gracias por responder.

No se si te entendi mal, pero así quedo mi consulta y ps no funciono :(
SELECT top 2000 t1.RAZONCIAL ,t2.Nombres,t3.Nombres FROM Clientes AS t1 LEFT JOIN Users AS t2 ON (t1.VENDEDOR_LIC=t2.CodigoVendedor) LEFT JOIN Users AS t3 ON (t1.VENDEDOR_INST=t3.CodigoVendedor)

El problema es que siempre me retorna el mismo vendedor para todos los clientes, para ser mas explicito quiero una tabla asi

Nombre Cliente-NombreVendedorInstitucional(Este dato esta en la tabla Users)-NombreVendedorLicor(Este dato esta en la tabla Users).
  #5 (permalink)  
Antiguo 16/08/2013, 15:39
Avatar de EderBarriosCamargo  
Fecha de Ingreso: marzo-2013
Mensajes: 55
Antigüedad: 11 años, 8 meses
Puntos: 0
Respuesta: Select

[QUOTE=ambichol;4487176]asumo que te refieres a algo como esto:
[HIGHLIGHT="SQL"]
create table #cliente(
IdCliente varchar(5),
Nombre varchar(50),
IdVendedor varchar(5)
)
create table #vendedor(
IdVendedor varchar(5),
NombreVendedores varchar(50),
DirVendedor varchar(50)
)
insert into #cliente values('CL001','PEDRO','VN001')
insert into #cliente values('CL002','JUAN','VN003')
insert into #cliente values('CL003','JOEL','VN001')
insert into #vendedor values('VN001','SARA','AV ROSARIO #1548')
insert into #vendedor values('VN003','XIANA','AV GARCILAZO # 214')

Grascias por responder ambichol.


Ps mi tabla esta creada asi.
create table #cliente(
IdCliente varchar(5),
Nombre varchar(50),
IdVendedorINST varchar(5)
IdVendedorLIC varchar(5)
)
create table #vendedor(
IdVendedor varchar(5),
NombreVendedores varchar(50),
DirVendedor varchar(50)
)
insert into #cliente values('CL001','PEDRO','VN001')
insert into #cliente values('CL002','JUAN','VN003')
insert into #cliente values('CL003','JOEL','VN001')
insert into #vendedor values('VN001','SARA','AV ROSARIO #1548')
insert into #vendedor values('VN002','Carlos','AV GARCILAZOooo # 314')
insert into #vendedor values('VN003','XIANA','AV GARCILAZO # 214')
  #6 (permalink)  
Antiguo 16/08/2013, 15:52
 
Fecha de Ingreso: febrero-2013
Ubicación: Lima
Mensajes: 301
Antigüedad: 11 años, 9 meses
Puntos: 5
Respuesta: Select

y puedes colocar algunos valores a los campos de tu tabla...?? solo para tener una referencia....
__________________
Lo que no se....tampoco creo saberlo....
  #7 (permalink)  
Antiguo 16/08/2013, 16:11
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 18 años, 3 meses
Puntos: 774
Respuesta: Select

Cita:
Iniciado por EderBarriosCamargo Ver Mensaje
Saludos Libras, Gracias por responder.

No se si te entendi mal, pero así quedo mi consulta y ps no funciono :(
SELECT top 2000 t1.RAZONCIAL ,t2.Nombres,t3.Nombres FROM Clientes AS t1 LEFT JOIN Users AS t2 ON (t1.VENDEDOR_LIC=t2.CodigoVendedor) LEFT JOIN Users AS t3 ON (t1.VENDEDOR_INST=t3.CodigoVendedor)

El problema es que siempre me retorna el mismo vendedor para todos los clientes, para ser mas explicito quiero una tabla asi

Nombre Cliente-NombreVendedorInstitucional(Este dato esta en la tabla Users)-NombreVendedorLicor(Este dato esta en la tabla Users).
como el mismo vendedor? todos los vendedores tienen el mismo id? como bien dicen pon un ejemplo de tus datos
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #8 (permalink)  
Antiguo 16/08/2013, 16:16
 
Fecha de Ingreso: febrero-2013
Ubicación: Lima
Mensajes: 301
Antigüedad: 11 años, 9 meses
Puntos: 5
Respuesta: Select

Si me baso en la estructura que me estas mostrando, pues al parecer esta mal, ya que entre tu tabla vendedores y clientes no hay ninguna relación, mas aun en la tabla clientes ingresas 2 códigos diferentes de vendedores, pero tu solo das 1 codigo(sin indicar que tipo es, si es de licor o institucional).
Procure armar un mejor la estructura del query que deseas realizar, pero en ello existen 3 tablas(clientes, vendedor institucional y vendedor licor), en donde si pude relacionar los campos.
Código SQL:
Ver original
  1. CREATE TABLE #cliente(
  2. IdCliente VARCHAR(5),
  3. Nombre VARCHAR(50),
  4. IdVendedorINST VARCHAR(5),
  5. IdVendedorLIC VARCHAR(5)
  6. )
  7. CREATE TABLE #vendedorinst(
  8. IdVendedorins VARCHAR(5),
  9. NombreVendedores VARCHAR(50),
  10. DirVendedor VARCHAR(50)
  11. )
  12. CREATE TABLE #vendedorlic(
  13. IdVendedorlic VARCHAR(5),
  14. NombreVendedores VARCHAR(50),
  15. DirVendedor VARCHAR(50)
  16. )
  17. INSERT INTO #cliente VALUES('CL001','PEDRO','VI001','VL001')
  18. INSERT INTO #cliente VALUES('CL002','JUAN','VI003','VL002')
  19. INSERT INTO #cliente VALUES('CL003','JOEL','VI001','VL003')
  20. INSERT INTO #vendedorinst VALUES('VI001','SARA','AV ROSARIO #1548')
  21. INSERT INTO #vendedorinst VALUES('VI002','CARLOS','AV GARCILAZO # 314')
  22. INSERT INTO #vendedorinst VALUES('VI003','XIANA','AV GARCILAZO # 214')
  23. INSERT INTO #vendedorlic VALUES('VL001','TOMAS','AV BALUARTE #148')
  24. INSERT INTO #vendedorlic VALUES('VL002','MIGUEL','VALPARAISO # 1314')
  25. INSERT INTO #vendedorlic VALUES('VL003','XIANA','UGARTE # 21204')
  26.  
  27. SELECT A.NOMBRE AS Nombre_Cliente, B.NOMBREVENDEDORES AS NombreVendedorInstitucional, C.NOMBREVENDEDORES AS NombreVendedorLicor
  28. FROM #cliente A INNER JOIN #vendedorinst B ON A.IdVendedorINST = B.IdVendedorins
  29. INNER JOIN #vendedorlic C ON A.IdVendedorLIC = C.IdVendedorlic

creo que esto te puede orientar sobre como poder relacionar las tablas que desarrollas:
http://codigosparatodo.blogspot.com/...as-en-sql.html
__________________
Lo que no se....tampoco creo saberlo....
  #9 (permalink)  
Antiguo 16/08/2013, 18:48
Avatar de EderBarriosCamargo  
Fecha de Ingreso: marzo-2013
Mensajes: 55
Antigüedad: 11 años, 8 meses
Puntos: 0
Respuesta: Select

AMBICHOL GRACIAS POR TU ORIENTACIÓN Y TAMBIEN A LIBRAS POR QUERER AYUDAR
Estoy trabajando en un sistemas integrado, esas tablas estan asi con el programa que maneja la empresa no puedo cambiarlas.
ahora bien mis tablas están así:
https://www.dropbox.com/s/zvatl8j1q768ezk/Sin%20t%C3%ADtulo.png
Mi query es como quiero que luzca mi consulta Muchas gracias por su colaboracion muchachos

Última edición por EderBarriosCamargo; 16/08/2013 a las 19:46
  #10 (permalink)  
Antiguo 17/08/2013, 13:26
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 18 años, 3 meses
Puntos: 774
Respuesta: Select

seria algo asi tomando en relacion las tablas que pones:

Código SQL:
Ver original
  1. SELECT c.nombre_cliente,v1.nombre_vendedor,v2.nombre_vendedor
  2. FROM clientes AS c LEFT JOIN vendedores AS v1 ON (v1.codigo=c.vendedor_inst)
  3. LEFT JOIN vendedores AS v2 ON (v2.codigo=c.vendedor_lic)

saludos!
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #11 (permalink)  
Antiguo 20/08/2013, 07:40
Avatar de EderBarriosCamargo  
Fecha de Ingreso: marzo-2013
Mensajes: 55
Antigüedad: 11 años, 8 meses
Puntos: 0
Respuesta: Select

Muchas Gracias libras funciona a la perfección el query :)

Etiquetas: select, server, sql, tabla, valor
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 22:18.