domingo, 14 de junho de 2015

Como criar uma Tabela temporária SQL

Muitas vez precisamos criar um tabela temporária para manipularmos os dados sem que alterar o Banco de produção.vou mostrar como é simples criar uma tabela temporária alimentada por u tabela do banco de produção.

Select * into #Tabela_temporaria 

From SA1010

Observe que é muito simples apenas usei o comando Into e o nome da tabela iniciando com '#' apos o predicado do meu select.

#Tabela_temporaria  nome da tabela que estou criando
SA1010 tabela já existente no meu banco neste caso é a tabela de cadastro de cliente.

segunda-feira, 8 de junho de 2015

Função Soma com Group Bay SQL

Vou mostrar como realizar uma consulta que retorna o faturamento de cada cliente em determinado período, para isto vou usar a função Sum(Soma) e a Clausura Group BAY.

este exemplo esta usando a base de dados Microsiga Protheus.

SELECT
B.A1_NOME,B.A1_TEL,B.A1_EMAIL,B.A1_EST,SUM(F2_VALBRUT)

From SF2010 as A -- Alias da Tabela de nota Fiscal
Join SA1010 as B -- Alias Tabela Cadastro de Cliente

ON

A.F2_CLIENTE = B.A1_COD and A.F2_LOJA = B.A1_LOJA and B.D_E_L_E_T_ <> '*'
where A1_MSBLQL ='2' and a.D_E_L_E_T_ <> '*'

and A.F2_EMISSAO ='20140101' and A.F2_EMISSAO ='20150602'

group by B.A1_NOME, B.A1_TEL, B.A1_EMAIL, B.A1_EST

a funçao sum, soma o valor de cada nota e todas as vezes que usa a função Sum também sera usado o Group By.

terça-feira, 19 de maio de 2015

Clausula Where

Vamos falar da Cláusula Where é muito comum o seu uso quando queremos montar um filtro pois ela ela usa os operadores lógicos.
vou montar um select usando o where bem simples, só para você entender o como é um filtro.
este relatório retorna os documento de saída filtrando pelo numero do documente e o cliente

select * From SF2010

Where   F2_DOC ='001885'

and F2_CLIENTE ='000002'

observe que o filtro usa um operador logico. E logico (AND)
Flaviano.

sexta-feira, 15 de maio de 2015

Consulta em 3 tabelas

Vou demostrar como realizar um consulta em Três Tabelas.
Tabelas
SA1: Cadastro de cliente
SF2: Nota fiscal de Saída
SA4: cadastro de Transportadora

SELECT
    SF2.F2_DOC,
    SF2.F2_SERIE,
    SF2.F2_CLIENTE,
    SF2.F2_LOJA,
    SA1.A1_NOME,
    SA1.A1_END,
    SA1.A1_BAIRRO,
    SA1.A1_MUN,
    SA1.A1_EST,
    SA1.A1_CEP,
    SF2.F2_VOLUME1,
    SA4.A4_NOME
   
   
    FROM
SF2010 as  SF2 -- Tabela
  INNER JOIN SA1010 as SA1
  ON
  SF2.F2_CLIENTE = SA1.A1_COD AND F2_DOC  = '006524 '
  inner join SA4010 as SA4
  ON SA4.A4_COD = SF2.F2_TRANSP

Até a próxima.