Ver Mensaje Individual
  #12 (permalink)  
Antiguo 26/08/2014, 15:26
Avatar de Libras
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: Union me repite Datos

Eso que le cuesta :), aqui un aproach del query, te dije que le faltaban condiciones ;)

Código SQL:
Ver original
  1. CREATE TABLE Entradas(idTienda CHAR(2),Codigo CHAR(12),Fecha smalldatetime,idAlmacen CHAR(2),Cantidad money)
  2. CREATE TABLE Salidas(idTienda CHAR(2),Codigo CHAR(12),Fecha smalldatetime,idAlmacen CHAR(2),Cantidad money)
  3. CREATE TABLE datEmp (idTienda CHAR(2),nickname nvarchar(20))
  4.  
  5. INSERT INTO Entradas VALUES ('08','004-113',GETDATE(),'04',325.34)
  6. INSERT INTO Entradas VALUES ('01','004-113',GETDATE(),'01',400.4)
  7. INSERT INTO Entradas VALUES ('01','004-113',GETDATE(),'01',1200.77)
  8. INSERT INTO Entradas VALUES ('08','004-113',GETDATE(),'01',325)
  9. INSERT INTO Entradas VALUES ('08','004-113',GETDATE(),'04',238.01)
  10.  
  11.  
  12. INSERT INTO datEmp VALUES ('08','tienda8')
  13. INSERT INTO datEmp VALUES ('01','tienda1')
  14. INSERT INTO datEmp VALUES ('02','tienda2')
  15. INSERT INTO datEmp VALUES ('09','tienda9')
  16. INSERT INTO datEmp VALUES ('07','tienda7')
  17.  
  18. INSERT INTO Salidas VALUES ('08','004-113',GETDATE(),'04',25.04)
  19. INSERT INTO Salidas VALUES ('01','004-113',GETDATE(),'01',10.50)
  20. INSERT INTO Salidas VALUES ('02','004-113',GETDATE(),'01',600.17)
  21. INSERT INTO Salidas VALUES ('09','004-113',GETDATE(),'01',35.04)
  22. INSERT INTO Salidas VALUES ('08','004-113',GETDATE(),'04',33.01)
  23.  
  24.  
  25.  
  26. SELECT * FROM(
  27. SELECT t1.codigo,t2.nickname,SUM(cantidad) AS entradas
  28. --*
  29. FROM Entradas AS t1
  30. LEFT JOIN datEmp AS t2 ON (t1.idtienda=t2.idTienda)
  31. --where t1.codigo between '004-113' AND '004-113' and t1.fecha BETWEEN '2014-05-03' AND '2014-08-21'
  32. GROUP BY t1.codigo,t2.nickname
  33. ) AS t1 RIGHT JOIN
  34.  
  35. (
  36. SELECT t1.codigo,t2.nickname,SUM(cantidad) AS salidas FROM salidas AS t1
  37. LEFT JOIN datEmp AS t2 ON (t1.idtienda=t2.idTienda)
  38. --where t1.codigo between '004-113' AND '004-113' and t1.fecha BETWEEN '2014-05-03' AND '2014-08-21'
  39. GROUP BY t1.codigo,t2.nickname) AS t2 ON (t1.codigo=t2.codigo AND t1.nickname=t2.nickname)
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me