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

Constulta Mysql a SQL

Estas en el tema de Constulta Mysql a SQL en el foro de SQL Server en Foros del Web. hola tengo esta consulta en mysql Código: SELECT `clientes`.`nit_cliente`, `clientes`.`nombre`, SUM(`total_operado`) AS `saldo`, SUM(if(`fecha` BETWEEN ( DATE_SUB(CURRENT_DATE(), INTERVAL 29 DAY)) AND CURRENT_DATE, `total_operado`, 0)) AS ...
  #1 (permalink)  
Antiguo 28/10/2005, 17:30
Avatar de GeoAvila
Colaborador
 
Fecha de Ingreso: diciembre-2003
Ubicación: Antigua Guatemala
Mensajes: 4.032
Antigüedad: 20 años, 4 meses
Puntos: 53
Constulta Mysql a SQL

hola tengo esta consulta en mysql
Código:
SELECT `clientes`.`nit_cliente`, `clientes`.`nombre`, SUM(`total_operado`) AS `saldo`, SUM(if(`fecha` BETWEEN ( DATE_SUB(CURRENT_DATE(), INTERVAL 29 DAY)) AND CURRENT_DATE, `total_operado`, 0)) AS `Corriente`, SUM(if(`fecha` BETWEEN DATE_SUB(CURRENT_DATE(), INTERVAL 59 DAY) AND DATE_SUB(CURRENT_DATE(), INTERVAL 30 DAY), `total_operado`, 0)) AS `30 59 dias`, SUM(if(`fecha` BETWEEN DATE_SUB(CURRENT_DATE(), INTERVAL 89 DAY) AND DATE_SUB(CURRENT_DATE(), INTERVAL 60 DAY), `total_operado`, 0)) AS `60 89 dias`, SUM(if(`fecha` BETWEEN DATE_SUB(CURRENT_DATE(), INTERVAL 119 DAY) AND DATE_SUB(CURRENT_DATE(), INTERVAL 90 DAY), `total_operado`, 0)) AS `90 119 dias`, SUM(if(`cxc`.`fecha` < DATE_SUB(CURRENT_DATE(), INTERVAL 120 DAY), `cxc`.`total_operado`, 0)) AS `120 o mas dias` 
FROM `clientes`  
INNER JOIN `cxc` ON (`clientes`.`nit_cliente` = `cxc`.`nit_cliente`) 
WHERE `total_operado` > 0 
GROUP BY `nit_cliente`
ORDER BY
  `clientes`.`nombre`
ahora deseo hacer lo mismo en un sql server, básicamente lo que hace es buscar los vencimientos de las facturas, pero no se como hacerlo en sql server.. bueno gracias por sus comentarios..

nos vemos.. y gracias de antemano
__________________
* Antes de preguntar lee las FAQ, y por favor no hagas preguntas en las FAQ
Sitio http://www.geoavila.com twitter: @GeoAvila
  #2 (permalink)  
Antiguo 31/10/2005, 15:34
Avatar de Mithrandir
Colaborador
 
Fecha de Ingreso: abril-2003
Mensajes: 12.106
Antigüedad: 21 años
Puntos: 25
Hola Geo, revisa esta sentencia:
Código:
SELECT clientes.nit_cliente, 
	clientes.nombre, 
	SUM(total_operado) AS saldo, 
	SUM(CASE WHEN fecha BETWEEN DATEADD(Day, GETDATE(), 29) AND GETDATE() THEN total_operado ELSE 0 END) AS Corriente,
...
FROM clientes
INNER JOIN cxc ON clientes.nit_cliente = cxc.nit_cliente) 
WHERE total_operado > 0 
GROUP BY nit_cliente
ORDER BY
  clientes.nombre
El primer CASE te debe dar idea del resto, si tienes problemas avísa.
__________________
"El hombre, en su orgullo, creó a Dios a su imagen y semejanza."
Friedrich Nietzsche
  #3 (permalink)  
Antiguo 09/11/2005, 08:10
Avatar de GeoAvila
Colaborador
 
Fecha de Ingreso: diciembre-2003
Ubicación: Antigua Guatemala
Mensajes: 4.032
Antigüedad: 20 años, 4 meses
Puntos: 53
Gracias Mithrandir lo voy a revisar.. mil gracias..
__________________
* Antes de preguntar lee las FAQ, y por favor no hagas preguntas en las FAQ
Sitio http://www.geoavila.com twitter: @GeoAvila
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:17.