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

[SOLUCIONADO] Consultas SQL (Problema)

Estas en el tema de Consultas SQL (Problema) en el foro de SQL Server en Foros del Web. Estimados buenos días soy nuevo en esto de los foros y estoy solicitando su ayuda para una consulta en sql que no logro realizar. Tengo ...
  #1 (permalink)  
Antiguo 29/10/2014, 05:31
 
Fecha de Ingreso: octubre-2014
Ubicación: Montevideo
Mensajes: 41
Antigüedad: 9 años, 5 meses
Puntos: 0
Consultas SQL (Problema)

Estimados buenos días soy nuevo en esto de los foros y estoy solicitando su ayuda para una consulta en sql que no logro realizar.
Tengo una tabla que se llama TRANSACCIONES la cual contiene ID, CANTIDAD,PRECIO,FECHA,MATRICULA(FOREIGNKEY- EQUIPOS),CI,CONCESIONARIO(FOREIGNKEY- ESTACIONES)
Otra tabla que se llama Estaciones que contiene concesionario y Nombre de estacion
Quisera hacer una consulta que me de la suma total de cantidad por concesionario y me muestre el nombre de ese concesionario ya que concesionario es un código para el nombre de estacion, hasta ahora lo que pude hacer fue que me muestre el concesionario con la suma total de la cantidad pero no logro que me muestre el nombre de la estacion.

Muchas gracias si me pueden ayudar con esto
  #2 (permalink)  
Antiguo 29/10/2014, 05:37
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Consultas SQL (Problema)

Popstea la query que has logrado hasta ahora. Es más facil si vemos lo que tienes , de ese modo poremos guiarte en lo que te falta.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 29/10/2014, 05:46
 
Fecha de Ingreso: octubre-2014
Ubicación: Montevideo
Mensajes: 41
Antigüedad: 9 años, 5 meses
Puntos: 0
Respuesta: Consultas SQL (Problema)

Ok dale tienes razon les pongo las dos tablas que tengo sobre estas dos seria la consulta quisiera obtener la suma de las cantidades y que me las muestre separadas por concesionario y con su nombre.
Código SQL:
Ver original
  1. CREATE TABLE TRANSACCIONES
  2. (  
  3.     ID INT NOT NULL UNIQUE,
  4.     CANTIDAD INT NOT NULL,
  5.     PRECIO INT NOT NULL,
  6.     FECHA DATETIME NOT NULL,
  7.     MATRICULA NVARCHAR (50) NOT NULL,
  8.     CI INT NOT NULL,
  9.     CONCESIONARIO NVARCHAR(50) NOT NULL,
  10.     PRIMARY KEY(ID),
  11.     FOREIGN KEY (CI) REFERENCES CHOFERES (CI),
  12.     FOREIGN KEY (CONCESIONARIO) REFERENCES ESTACIONES (CONCESIONARIO),
  13.     FOREIGN KEY (MATRICULA) REFERENCES EQUIPOS (MATRICULA),
  14.    
  15. CREATE TABLE ESTACIONES
  16. (
  17.     CONCESIONARIO NVARCHAR(50) NOT NULL UNIQUE,
  18.     NOMBRE_ESTACION NVARCHAR (50) NOT NULL,
  19.     PRIMARY KEY (CONCESIONARIO),
  20.    
  21. )
  22. GO

Última edición por gnzsoloyo; 29/10/2014 a las 05:56
  #4 (permalink)  
Antiguo 29/10/2014, 07:06
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: Consultas SQL (Problema)

y cual es la query que llevas????
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #5 (permalink)  
Antiguo 29/10/2014, 07:25
 
Fecha de Ingreso: octubre-2014
Ubicación: Montevideo
Mensajes: 41
Antigüedad: 9 años, 5 meses
Puntos: 0
Respuesta: Consultas SQL (Problema)

Este es el Script que estoy utilizando, se trata de llevar el control de transacciones que se hacen al cargar combustible, la cantidad son los LTS que carga en esa transaccion. Lo que quiero ver es en entre fechas la cantidad de lts por estacion y que me muestre su nombre ya que en la tabla transaccion esta como concesionario que es un numero identificando la estacion su nombre lo obtendria de la tabla Estaciones pero no se como mostrar el nombre en la consulta sql

Código SQL:
Ver original
  1. CREATE TABLE TRANSACCIONES
  2. (  
  3.     ID INT NOT NULL UNIQUE,
  4.     CANTIDAD INT NOT NULL,
  5.     PRECIO INT NOT NULL,
  6.     FECHA DATETIME NOT NULL,
  7.     MATRICULA NVARCHAR (50) NOT NULL,
  8.     CI INT NOT NULL,
  9.     CONCESIONARIO NVARCHAR(50) NOT NULL,
  10.     PRIMARY KEY(ID),
  11.     FOREIGN KEY (CI) REFERENCES CHOFERES (CI),
  12.     FOREIGN KEY (CONCESIONARIO) REFERENCES ESTACIONES (CONCESIONARIO),
  13.     FOREIGN KEY (MATRICULA) REFERENCES EQUIPOS (MATRICULA),
  14.    
  15. )
  16.     GO
  17.  
  18.  
  19. CREATE TABLE CHOFERES
  20. (
  21.     CI INT NOT NULL UNIQUE,
  22.     NOMBRE NVARCHAR(50) NOT NULL,
  23.     APELLIDO NVARCHAR (50) NOT NULL,
  24.     PRIMARY KEY (CI)
  25. )
  26. GO
  27.  
  28.  
  29. CREATE TABLE ESTACIONES
  30. (
  31.     CONCESIONARIO NVARCHAR(50) NOT NULL UNIQUE,
  32.     NOMBRE_ESTACION NVARCHAR (50) NOT NULL,
  33.     PRIMARY KEY (CONCESIONARIO),
  34.    
  35. )
  36. GO
  37.  
  38. CREATE TABLE FOSA
  39. (
  40.  
  41. ID INT IDENTITY(1,1),
  42. MATRICULA NVARCHAR(50) NOT NULL UNIQUE,
  43. PRIMARY KEY (ID),
  44. FOREIGN KEY (MATRICULA) REFERENCES EQUIPOS (MATRICULA),
  45. )
  46.  
  47.  
  48. CREATE TABLE MDP
  49. (
  50. MATRICULA NVARCHAR(50) NOT NULL UNIQUE,
  51. ID INT IDENTITY(1,1),
  52. PRIMARY KEY (ID),
  53. FOREIGN KEY (MATRICULA) REFERENCES EQUIPOS (MATRICULA),
  54. )
  55.  
  56. CREATE TABLE EXOLOGISTICA
  57. (
  58. MATRICULA NVARCHAR(50) NOT NULL UNIQUE,
  59. ID INT IDENTITY(1,1),
  60. PRIMARY KEY (ID),
  61. FOREIGN KEY (MATRICULA) REFERENCES EQUIPOS (MATRICULA),
  62. )
  63.  
  64. CREATE TABLE TA_TA
  65. (
  66.  
  67. MATRICULA NVARCHAR(50) NOT NULL UNIQUE ,
  68. ID INT IDENTITY(1,1),
  69. PRIMARY KEY (ID),
  70. FOREIGN KEY (MATRICULA) REFERENCES EQUIPOS (MATRICULA),
  71. )
  72.  
  73. CREATE TABLE GRANJA3ARROYOS
  74. (
  75. MATRICULA NVARCHAR(50) NOT NULL,
  76. ID INT IDENTITY(1,1),
  77. PRIMARY KEY (ID),
  78. FOREIGN KEY (MATRICULA) REFERENCES EQUIPOS (MATRICULA),
  79. )
  80.  
  81. CREATE TABLE EQUIPOS
  82. (
  83.     MATRICULA NVARCHAR(50) NOT NULL,
  84.     PRIMARY KEY (MATRICULA),
  85.  
  86. )
  87. GO
  88.  
  89. CREATE TABLE SITRACK
  90. (
  91.     ID INT IDENTITY(1,1),
  92.     MATRICULA NVARCHAR(50)NOT NULL,
  93.     KMS INT NOT NULL,
  94.     FECHA DATETIME NOT NULL,
  95.     PRIMARY KEY (ID),
  96.     FOREIGN KEY (MATRICULA) REFERENCES EQUIPOS (MATRICULA)
  97. )
  98.  
  99.  
  100.  
  101. CREATE TABLE USUARIOS
  102. (
  103. ID INT IDENTITY (1,1),
  104. NOMBRE VARCHAR(25) NOT NULL UNIQUE,
  105. PASSWORD VARCHAR (25) NOT NULL,
  106. PRIMARY KEY (ID),
  107. )
  #6 (permalink)  
Antiguo 29/10/2014, 07:31
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Consultas SQL (Problema)

Creo que no estás entendiendo...
Ese script es el de creación de las tablal, y lo que te estamos pidiendo es que nos muestres lo que hiciste según comentas en el primer post:
Cita:
hasta ahora lo que pude hacer fue que me muestre el concesionario con la suma total de la cantidad pero no logro que me muestre el nombre de la estacion.
Esa es la que nos interesa (las otras vienen bien para entender las relaciones de los datos).

Estamos suponiendo, en base a tus palabras, que hiciste un SELECT.... algo...
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Última edición por gnzsoloyo; 29/10/2014 a las 08:15
  #7 (permalink)  
Antiguo 29/10/2014, 07:31
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: Consultas SQL (Problema)

ya probaste haciendo un

Código SQL:
Ver original
  1. SELECT * FROM tabla1
  2. LEFT JOIN tabla2 ON (tabla1.id=tabla2.id)

con eso obtienes lo que necesitas.......
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #8 (permalink)  
Antiguo 29/10/2014, 07:39
 
Fecha de Ingreso: octubre-2014
Ubicación: Montevideo
Mensajes: 41
Antigüedad: 9 años, 5 meses
Puntos: 0
Respuesta: Consultas SQL (Problema)

ahhhh perdon si tienes razón no mostré lo que había hecho. Lo que hice fue :

Código SQL:
Ver original
  1. SELECT CONCESIONARIO, SUM(CANTIDAD) AS TOTAL
  2. FROM TRANSACCIONES
  3. GROUP BY CONCESIONARIO

Esto me muestra las sumas de lts y ordena por concesionario pero no me muestra los nombre

Última edición por gnzsoloyo; 29/10/2014 a las 08:15
  #9 (permalink)  
Antiguo 29/10/2014, 07:44
 
Fecha de Ingreso: octubre-2014
Ubicación: Montevideo
Mensajes: 41
Antigüedad: 9 años, 5 meses
Puntos: 0
Respuesta: Consultas SQL (Problema)

Sos un mounstruo!!!!! Muchas muchas gracias por tu ayuda debia usar el left join!!!!

Gracias gracias !!! Me ayudaron mucho!!
  #10 (permalink)  
Antiguo 29/10/2014, 07:45
 
Fecha de Ingreso: octubre-2014
Ubicación: Montevideo
Mensajes: 41
Antigüedad: 9 años, 5 meses
Puntos: 0
Respuesta: Consultas SQL (Problema)

Estimado muchas gracias por tu ayuda logre resolverlo con lo que me pasaron ams abajo pero muchas gracias de verdad por todo!!
  #11 (permalink)  
Antiguo 29/10/2014, 07:48
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: Consultas SQL (Problema)

Cita:
Iniciado por LUCHOCED Ver Mensaje
ahhhh perdon si tienes razón no mostré lo que había hecho. Lo que hice fue :

SELECT CONCESIONARIO, SUM(CANTIDAD) AS TOTAL
FROM TRANSACCIONES
GROUP BY CONCESIONARIO

Esto me muestra las sumas de lts y ordena por concesionario pero no me muestra los nombre

Código SQL:
Ver original
  1. SELECT t2.nombre_estacion, SUM(t1.CANTIDAD) AS TOTAL
  2. FROM TRANSACCIONES AS t1
  3. LEFT JOIN estaciones AS t2 ON (t1.concesionario=t2.concesionario)
  4. GROUP BY t2.nombre_estacion
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me

Etiquetas: sql, tabla
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:56.