Machetes Varios

apuntes varios erp cwa logic ( ahora SoftLand Logic ) – sql y veremos que otra cosa

SQL – Columna Acumuladora

Adaptación de artículo en http://sqltips.wordpress.com

La siguiente consulta lista los saldos de cuenta corriente, y agrega una columna con el total acumulado. Muy útil como por ejemplo, hacer una ABC de Clientes

La consulta a continuación:

Lee más »

abril 16, 2012 Publicado por | 1. SotLand Logic, Cwa Logic, SQL Server, Transact SQL | Dejar un comentario

Generando un Millón de registros

Fuente: “Generando un millón de registros en menos de un segundo”

http://sqltips.wordpress.com

La forma “natural” para generar 1M de números sería

With Base As
(
Select 1 as n
Union All
Select n+1 From Base Where n <1000000
)
select n from base
OPTION (MaxRecursion 0)

 

El método optimizado genera una primera tabla con la raiz cuadrada de los números a generar ( Base ), luego se aplica un cross join sobre si misma(tabla Expand ), que luego se numera con la tabla Nums ( usando la función Row_Number() )

Lee más »

abril 12, 2012 Publicado por | SQL Server, Transact SQL | Dejar un comentario

Recuperando rango de filas con ROW_NUMBER()

Equivalente al limit de MySql

Ej.:

Recupera los registros 18 a 25 de la VTMCLH

SELECT ROW,VTMCLH_NROCTA
FROM
(SELECT ROW_NUMBER() OVER(ORDER BY VTMCLH_NROCTA DESC) AS Row,
VTMCLH_NROCTA
FROM VTMCLH) CLIENTES
WHERE ROW BETWEEN 18 AND 25

Principales 5 clientes por vendedor

Lee más »

abril 12, 2012 Publicado por | SQL Server, Transact SQL | , , , , | Dejar un comentario

Exportar una tabla a Excel sin tener el Office Instalado

fuente original: SqlTeam

Se hace usando el comando BCP.

El Store está modificado. Le agregué la opciónes

-C ANSI

-SServerName

El archivo aqui

abril 3, 2009 Publicado por | Transact SQL | Dejar un comentario

10 mejores Tips SQL

Fuente Original: searchsqlserver

Lee más »

enero 8, 2009 Publicado por | Transact SQL | Dejar un comentario

SP_COLUMNAS2

Se pasa como parámetro la tabla y trae todos los campos separados por comas y agrega el FROM: servidor.dbo.tabla. Omite las columnas del tipo timestamp

 

CREATE PROCEDURE SP_COLUMNAS2
@TABLA VARCHAR(50)
-- Lista de las columnas de una tabla con comas

-- No trae las tipo timestamp
-- Desarrollado por Carlos Pedranti
-- Ultima Modificación: 31/10/2008

-- Ej. de Ejecución
-- Exec Sp_Columnas2 CJRMVI

AS

 Lee más »

octubre 31, 2008 Publicado por | Transact SQL | Dejar un comentario

Funcion Usr_FN_PeriodAdd

Sirve para agregar meses a un Periodo.

Ej : tengo el campo Period con 200801 y quiere restarle 2 meses

SELECT dbo.USR_FN_PeriodAdd(-2,200801)

arroja

200711

Lee más »

septiembre 10, 2008 Publicado por | Transact SQL | , | 1 comentario

Funcion para Numerar Semanas

La idea es clasificar las fechas en semanas dentro del año. En la zona fin de la última semana de un año y comienzo de la otra, se pasarán los días a la semana del año que tenga más días.

Ej: el 31/12/2001 ( lunes ) pasa a la primera semana del 2002

El 01 y 02 del año 2005 ( sábado y domingo ) pasan a la última semana del 2004.

Ejemplos

--SELECT DBO.Usr_FN_SemanaEstadistica('20011231') -->> lunes - 200201
--SELECT DBO.Usr_FN_SemanaEstadistica('20011230')-- 200152
--SELECT DBO.Usr_FN_SemanaEstadistica('20050101')-- 200453
--SELECT DBO.Usr_FN_SemanaEstadistica('20050102')--200453
--SELECT DBO.Usr_FN_SemanaEstadistica('20050103')--200501
--SELECT DBO.Usr_FN_SemanaEstadistica('20050109')--200501
  Lee más »

junio 17, 2008 Publicado por | Transact SQL | , | Dejar un comentario

SQL -Operaciones con Fechas

Algunas Técnicas Obtenidas de la revista SQLMagazine marzo 2007 – junio 2007 por Itzik Ben-Gan.

Años como Números Enteros

0 – es el 01/01/1900 que fue LUNES

1- 02/01/1900 MARTES

2- 03/01/1900 MIERCOLES

Lee más »

junio 17, 2008 Publicado por | sql magazine, SQL Server, Transact SQL | , | 3 comentarios

Recursividad en SQL 2005

muy buen artículo.

Dada una tabla con el id de empleado, su nombre y el id del jefe ( teniendo el gerente el mismo id de empleado que de jefe ) se necesita saber cuantas personas reportan a un jefe en particular.

Se da la solución usando Common Table Expression ( CTE ), y luego se eejmplifica la falla al intentar consultar la gente que reporta al gerente ( en el gráfico Alice, pero el autor se equivoca y dice que es Carol ).

Lee más »

mayo 27, 2008 Publicado por | Transact SQL | 1 comentario

Seguir

Get every new post delivered to your Inbox.