
fulvio
Moderadores-
Total de itens
1.218 -
Registro em
-
Última visita
Tudo que fulvio postou
-
Boa tarde Jair, Tem como fazer uma inversão entre Linha X Coluna, mas não gosto de mexer pois o resultado as vezes não fica como esperado.... A melhor forma que vejo seriam vários subselects para retornar os valores. Fiz um exemplo e espero que ajude: -- Criação da temporária CREATE TABLE #Valor (DATA DATETIME, Valor INT, Condicao VARCHAR(20)) -- Inserção dos Dados INSERT INTO #Valor VALUES ('2012-04-01' , 100 , 'CARTAO') INSERT INTO #Valor VALUES ('2012-04-01' , 30 , 'DINHEIRO') INSERT INTO #Valor VALUES ('2012-04-01' , 200 , 'CHEQUE') INSERT INTO #Valor VALUES ('2012-04-01' , 500 , 'CHEQUE') INSERT INTO #Valor VALUES ('2012-04-02' , 250 , 'CARTAO') INSERT INTO #Valor VALUES ('2012-04-02' , 25 , 'DINHEIRO') INSERT INTO #Valor VALUES ('2012-04-02' , 150 , 'CARTAO') INSERT INTO #Valor VALUES ('2012-04-02' , 80 , 'DINHEIRO') INSERT INTO #Valor VALUES ('2012-04-03' , 100 , 'CARTAO') INSERT INTO #Valor VALUES ('2012-04-03' , 100 , 'CARTAO') INSERT INTO #Valor VALUES ('2012-04-03' , 100 , 'CARTAO') INSERT INTO #Valor VALUES ('2012-04-03' , 100 , 'CARTAO') -- Resultado SELECT v.DATA, (SELECT SUM(c.valor) FROM #Valor c WHERE c.DATA=v.DATA AND c.condicao='Cartao') TotalCartao, (SELECT SUM(c.valor) FROM #Valor c WHERE c.DATA=v.DATA AND c.condicao='CHEQUE') TotalCheque, (SELECT SUM(c.valor) FROM #Valor c WHERE c.DATA=v.DATA AND c.condicao='DINHEIRO') TotalDiqueiro, (SELECT SUM(c.valor) FROM #Valor c WHERE c.DATA=v.DATA AND c.condicao='DINHEIRO') TotalDiqueiro, (SELECT SUM(c.valor) FROM #Valor c WHERE c.DATA=v.DATA) Total FROM #Valor v GROUP BY v.DATA
-
Bom dia Fernandinha, Temporárias com muitos registros realmente são problemas (sejam elas de instância ou em tempo de execução). O primeiro ponto é tentar minimizar a quantidade de registros a inserir nesta temporária. Caso não tenha jeito, uma alternativa é alterar de temporária para física. No caso de física, quando realizar as inserções, retire todas as constraints q tiver. Depois da inserção recrie ou ative-as.
-
Bom dia Baixinha, O certo seria colocar uma função no aplicativo, para que o usuário visualize os dados com o formato que deseja. Como é um aplicativo que grava as informações desformatadas, você sempre terá q corrigir a base. Nunca resolverá o problema... rs. Mas caso queira corrigiar a base, terá q criar um processo onde coloque a letra maiúscula no inicio de cada nome. Esta implementação será bem complexa: não poderá apenas colocar maiúscula na primeira letra após o espaço em branco, uma vez que os nomes como "Luis de Assis", o "de" terá que continuas com todas as letras minusculas. Outra alternativa é alterar o case sensitive do banco, para que as letras minusculas/maiúsculas sejam iguais na pesquisa.
-
Boa tarde Pizero, Não conheço nenhuma forma de fazer isto... mas ao invés de digitar, poderá copiar a colar... rs. Comando: sp_help TABELA Aparecerá o nome das colunas. Copia e cola no script.
-
Bom dia magaupe, Se quiser as pessoas q tenham os cursos, poderá substiuir os lefts por inner. Tente fazer desta forma: select distinct vct_pessoa.pessoa_cod, vct_pessoa.pessoa_nome, vct_pessoa.pessoa_email1, vct_pessoa.pessoa_email2, vct_pessoa.pessoa_tel2, vct_pessoa.pessoa_tel1, vct_pessoa.pais_cod, vct_pessoa.estado_cod, vct_pessoa.cidade_cod, vct_pessoa.pessoa_lat, vct_pessoa.pessoa_long, vct_pessoa.sexo_cod From vct_pessoa inner Join pessoa_qualificacao On pessoa_qualificacao.pessoa_cod = vct_pessoa.pessoa_cod inner Join cursos_pessoas On vct_pessoa.pessoa_cod = cursos_pessoas.pessoa_cod where cursos_pessoas.curso_cod = 7587 and cursos_pessoas.curso_cod = 8354
-
(Resolvido) Excluir par de linhas em uma consulta sql
pergunta respondeu ao thiagogoiis de fulvio em SQL Server
rs... com a nova informação "nome só seria apresentado se ele fosse menor que o da segunda coluna" ai fica fácil!!! Gostei do exercício Thiago. Dá pra quebrar a cabeça com ele. Sem esta informação que passou, não teria como fazer sem subselect. Pede pro professor retirar esta informação e refazer o exercício. Um bom exercício! Qualquer dúvida que tiver, estamos ai... -
(Resolvido) CONSULTAS COM DETERMINADAS DATAS, COMO FAZER?
pergunta respondeu ao jooji de fulvio em SQL Server
rs... precisando estamos ai!!! :) -
(Resolvido) CONSULTAS COM DETERMINADAS DATAS, COMO FAZER?
pergunta respondeu ao jooji de fulvio em SQL Server
Bom dia jooji, rs... então quase acertei... rs. O agrupamento está retornando o mínimo da hora, sem levar em consideração o ténico. Basta colocar no agrupamento a coluna do técnico. Peguei os dados que postou e coloquei na temporária. Dá uma olhada se é isso: -- criar temporária CREATE TABLE #tabela (LATITUDE VARCHAR(20), LONGITUDE VARCHAR(20), NOME VARCHAR(30), DATA DATETIME, ID int) -- carga dos dados INSERT INTO #tabela VALUES ('-23.0447652' ,'-45.6190495','RENATO DOS SANTOS ALVES','09/05/2012 09:38:24',327) INSERT INTO #tabela VALUES ('-23.0447652' ,'-45.6190495','RENATO DOS SANTOS ALVES','09/05/2012 09:44:06',327) INSERT INTO #tabela VALUES ('-23.0248539' ,'-45.5850294','RENATO DOS SANTOS ALVES','09/05/2012 09:48:30',327) INSERT INTO #tabela VALUES ('-23.0248539' ,'-45.5850294','RENATO DOS SANTOS ALVES','09/05/2012 09:53:25',327) INSERT INTO #tabela VALUES ('-23.0279585' ,'-45.5856927','RENATO DOS SANTOS ALVES','09/05/2012 09:58:23',327) INSERT INTO #tabela VALUES ('-23.0260341' ,'-45.6050516','RENATO DOS SANTOS ALVES','09/05/2012 10:03:25',327) INSERT INTO #tabela VALUES ('-23.0282634' ,'-45.6000754','RENATO DOS SANTOS ALVES','09/05/2012 10:08:23',327) INSERT INTO #tabela VALUES ('-23.0284681' ,'-45.604684','RENATO DOS SANTOS ALVES','09/05/2012 10:13:35',327) INSERT INTO #tabela VALUES ('-23.0279585' ,'-45.5856927','RENATO DOS SANTOS ALVES','09/05/2012 10:18:24',327) INSERT INTO #tabela VALUES ('-23.0279585' ,'-45.5856927','RENATO DOS SANTOS ALVES','09/05/2012 10:23:24',327) INSERT INTO #tabela VALUES ('-23.6001272' ,'-46.5125745','JULIANO FERREIRA ALVES','09/05/2012 05:13:55',328) INSERT INTO #tabela VALUES ('-23.6001272' ,'-46.5125745','JULIANO FERREIRA ALVES','09/05/2012 05:28:50',328) INSERT INTO #tabela VALUES ('-23.6328052' ,'-46.8087687','JULIANO FERREIRA ALVES','09/05/2012 06:55:27',328) INSERT INTO #tabela VALUES ('-23.6321824' ,'-46.7840246','JULIANO FERREIRA ALVES','09/05/2012 07:09:18',328) INSERT INTO #tabela VALUES ('-23.6207387' ,'-46.7691405','JULIANO FERREIRA ALVES','09/05/2012 07:24:20',328) INSERT INTO #tabela VALUES ('-23.6321824' ,'-46.7840246','JULIANO FERREIRA ALVES','09/05/2012 08:54:32',328) INSERT INTO #tabela VALUES ('-23.6207387' ,'-46.7691405','JULIANO FERREIRA ALVES','09/05/2012 09:24:25',328) INSERT INTO #tabela VALUES ('-23.6321824' ,'-46.7840246','JULIANO FERREIRA ALVES','09/05/2012 09:54:35',328) INSERT INTO #tabela VALUES ('-23.608784' ,'-46.7536541','JULIANO FERREIRA ALVES','09/05/2012 10:24:22',328) INSERT INTO #tabela VALUES ('-23.6515041' ,'-46.5958234','ALEXANDRE GOMES FONSECA','09/05/2012 06:56:05', 329) INSERT INTO #tabela VALUES ('-23.6321824' ,'-46.7840246','ROGER VIEIRA SILVA','09/05/2012 06:57:32', 330) INSERT INTO #tabela VALUES ('-23.6321824' ,'-46.7840246','ROGER VIEIRA SILVA','09/05/2012 07:02:31', 330) INSERT INTO #tabela VALUES ('-23.6207387' ,'-46.7691405','ROGER VIEIRA SILVA','09/05/2012 07:07:32', 330) INSERT INTO #tabela VALUES ('-23.6207387' ,'-46.7691405','ROGER VIEIRA SILVA','09/05/2012 07:12:33', 330) INSERT INTO #tabela VALUES ('-23.6321824' ,'-46.7840246','ROGER VIEIRA SILVA','09/05/2012 07:22:34', 330) INSERT INTO #tabela VALUES ('-23.628367833333332' ,'-46.77906323333334','ROGER VIEIRA SILVA','09/05/2012 07:27:30', 330) INSERT INTO #tabela VALUES ('-23.6207387' ,'-46.7691405','ROGER VIEIRA SILVA','09/05/2012 07:33:19', 330) INSERT INTO #tabela VALUES ('-23.6321824' ,'-46.7840246','ROGER VIEIRA SILVA','09/05/2012 07:42:34', 330) INSERT INTO #tabela VALUES ('-23.62646055' ,'-46.77658255','ROGER VIEIRA SILVA','09/05/2012 07:47:31', 330) INSERT INTO #tabela VALUES ('-23.6207387' ,'-46.7691405','ROGER VIEIRA SILVA','09/05/2012 07:52:38', 330) INSERT INTO #tabela VALUES ('-23.6321824' ,'-46.7840246','ROGER VIEIRA SILVA','09/05/2012 07:57:33', 330) INSERT INTO #tabela VALUES ('-23.6321824' ,'-46.7840246','ROGER VIEIRA SILVA','09/05/2012 08:07:33', 330) INSERT INTO #tabela VALUES ('-23.6207387' ,'-46.7691405','ROGER VIEIRA SILVA','09/05/2012 08:17:34', 330) INSERT INTO #tabela VALUES ('-23.6207387' ,'-46.7691405','ROGER VIEIRA SILVA','09/05/2012 08:22:34', 330) INSERT INTO #tabela VALUES ('-23.6207387' ,'-46.7691405','ROGER VIEIRA SILVA','09/05/2012 08:27:36', 330) INSERT INTO #tabela VALUES ('-23.6207387' ,'-46.7691405','ROGER VIEIRA SILVA','09/05/2012 08:32:33', 330) INSERT INTO #tabela VALUES ('-23.6207387' ,'-46.7691405','ROGER VIEIRA SILVA','09/05/2012 08:37:35', 330) INSERT INTO #tabela VALUES ('-23.6149752' ,'-46.783605','ROGER VIEIRA SILVA','09/05/2012 08:42:58', 330) INSERT INTO #tabela VALUES ('-23.6321824' ,'-46.7840246','ROGER VIEIRA SILVA','09/05/2012 08:48:19', 330) INSERT INTO #tabela VALUES ('-23.6321824' ,'-46.7840246','ROGER VIEIRA SILVA','09/05/2012 08:52:33', 330) INSERT INTO #tabela VALUES ('-23.6207387' ,'-46.7691405','ROGER VIEIRA SILVA','09/05/2012 08:57:40', 330) INSERT INTO #tabela VALUES ('-23.6149752' ,'-46.783605','ROGER VIEIRA SILVA','09/05/2012 10:02:35', 330) INSERT INTO #tabela VALUES ('-23.6330044' ,'-46.821016','ROGER VIEIRA SILVA','09/05/2012 10:07:35', 330) INSERT INTO #tabela VALUES ('-23.6176175' ,'-46.7891977','ROGER VIEIRA SILVA','09/05/2012 10:12:37', 330) INSERT INTO #tabela VALUES ('-23.6370523' ,'-46.8329741','ROGER VIEIRA SILVA','09/05/2012 10:17:33', 330) INSERT INTO #tabela VALUES ('-23.6515041' ,'-46.5958234','VANDERLEI CARLOS CARDOSO','09/05/2012 07:14:32', 331) INSERT INTO #tabela VALUES ('-23.6515041' ,'-46.5958234','VANDERLEI CARLOS CARDOSO','09/05/2012 07:39:25', 331) INSERT INTO #tabela VALUES ('-23.6318396' ,'-46.6061484','VANDERLEI CARLOS CARDOSO','09/05/2012 07:44:21', 331) INSERT INTO #tabela VALUES ('-23.6515041' ,'-46.5958234','VANDERLEI CARLOS CARDOSO','09/05/2012 07:54:23', 331) INSERT INTO #tabela VALUES ('-23.6515041' ,'-46.5958234','VANDERLEI CARLOS CARDOSO','09/05/2012 08:04:25', 331) INSERT INTO #tabela VALUES ('-23.6515041' ,'-46.5958234','VANDERLEI CARLOS CARDOSO','09/05/2012 08:14:34', 331) INSERT INTO #tabela VALUES ('-23.6515041' ,'-46.5958234','VANDERLEI CARLOS CARDOSO','09/05/2012 08:22:44', 331) INSERT INTO #tabela VALUES ('-23.6515041' ,'-46.5958234','VANDERLEI CARLOS CARDOSO','09/05/2012 08:27:42', 331) SELECT min(DATA), nome FROM #tabela GROUP BY (SUBSTRING(convert(VARCHAR, DATA, 120), 1, 13)), nome -
(Resolvido) Excluir par de linhas em uma consulta sql
pergunta respondeu ao thiagogoiis de fulvio em SQL Server
Fiz um exemplo logo abaixo. Criei as temporárias e fiz os testes (está comentado). Dê uma olhada. Caso seja isto e não entenda, posta aí q explico passo a passo: -- criar temporária CREATE TABLE #Estudante (Id INT, nome VARCHAR(20), Serie int) CREATE TABLE #Gosta (Id1 INT, Id2 INT) -- inserção dos dados INSERT INTO #Estudante VALUES (1, 'Gabriel', 9) INSERT INTO #Estudante VALUES (2, 'Cassandra', 9) INSERT INTO #Estudante VALUES (3, 'Alexis', 11) INSERT INTO #Estudante VALUES (4, 'Kyle', 12) INSERT INTO #Gosta values(1, 2) INSERT INTO #Gosta values(2, 1) INSERT INTO #Gosta values(3, 4) INSERT INTO #Gosta values(4, 3) -- select para conferir os dados SELECT * FROM #Estudante SELECT * FROM #Gosta -- seu select, utilizando os dados inseridos na temporária SELECT E1.NOME, E1.SERIE, E2.NOME, E2.SERIE FROM #ESTUDANTE E1, #ESTUDANTE E2, #GOSTA G1, #GOSTA G2 WHERE E1.ID = G1.ID1 AND E2.ID = G1.ID2 AND E1.ID = G2.ID2 AND E2.ID = G2.ID1 -- Meu select SELECT E1.NOME, E1.SERIE, E2.NOME, E2.SERIE FROM #ESTUDANTE E1, #ESTUDANTE E2, #GOSTA G WHERE E1.Id=G.Id1 AND E2.Id=G.Id2 and E1.id IN (SELECT MIN(ID1) FROM #GOSTA GROUP BY ID1*ID2 HAVING COUNT (ID1*ID2)>1) -
(Resolvido) Duvida de Iniciante - Ordenar coluna
pergunta respondeu ao Ronaldo Daniel de fulvio em SQL Server
:) precisando estamos ai!!! -
(Resolvido) Excluir par de linhas em uma consulta sql
pergunta respondeu ao thiagogoiis de fulvio em SQL Server
Boa tarde Thiago, rs... sem problemas. Pergunto porque não costumo ajudar pessoas q estão fazendo faculdade ou curso. Muitos postam trabalhos e esperam soluções fáceis... rs (não estou falando de vc). Pois bem... tenho uma dúvida: como deve ser a resolução deste exercício? Apenas 1 select? Ou pode fazer do jeito q quiser? OBS.: A linha não se encontra duplicada. Perceba que os dados estão misturados. Para o sql, as linhas são distintas. -
(Resolvido) CONSULTAS COM DETERMINADAS DATAS, COMO FAZER?
pergunta respondeu ao jooji de fulvio em SQL Server
Boa tarde jooji, Acho que entendi mais ou menos... rs. Fiz um exemplo logo abaixo. Dê uma olhada se seria isto mesmo. Criei uma temporária e inseri alguns dados. Caso não seja isto, favor informar. -- criar temporária CREATE TABLE #tabela (Id INT, DATA DATETIME) -- carga dos dados INSERT INTO #tabela VALUES (1, '2012-05-08 10:01') INSERT INTO #tabela VALUES (2, '2012-05-08 10:15') INSERT INTO #tabela VALUES (3, '2012-05-08 10:30') INSERT INTO #tabela VALUES (4, '2012-05-08 10:50') INSERT INTO #tabela VALUES (5, '2012-05-08 11:05') INSERT INTO #tabela VALUES (6, '2012-05-08 11:35') INSERT INTO #tabela VALUES (7, '2012-05-08 12:10') INSERT INTO #tabela VALUES (8, '2012-05-08 12:26') SELECT min(DATA) FROM #tabela GROUP BY (SUBSTRING(convert(VARCHAR, DATA, 120), 1, 13)) -
(Resolvido) Excluir par de linhas em uma consulta sql
pergunta respondeu ao thiagogoiis de fulvio em SQL Server
Bom dia thiagogoiis, Desculpe pela pergunta... mas isso é trabalho de faculadade / Curso? :) -
(Resolvido) CONSULTAS COM DETERMINADAS DATAS, COMO FAZER?
pergunta respondeu ao jooji de fulvio em SQL Server
Bom dia jooji, Os dados que "puxa" estão na base gravados? Eles são gravados de 5 em 5 minutos, ou no resultado do seu select está aparecendo de 5 em 5 minutos? Na cláusula where que postou, ele lista os dados que estão gravados na base de acordo com a data atual. Apenas isto. Não há nada referente a intervalo de dada. Sendo assim, tudo q estiver gravado na base em que a data do campo POS.DATE seja igual a data atual, será listado. Outra coisa: a conversão da data para o formato 101 é o Americano: mm/dd/aaaa. Caso queira trabalhar com minutos terá que realizar outra conversão também. -
(Resolvido) Duvida de Iniciante - Ordenar coluna
pergunta respondeu ao Ronaldo Daniel de fulvio em SQL Server
Bom dia Ronaldo, Ficaria deste jeito: SELECT m.REFERENCIA, m.DESCRICAO, mm.descricao FROM MERCADORIA m left join mercadoria_marcas mm ON m.merc_id_marca = mm.id_codigo WHERE m.SITUACAO ='3' and m.ID_GTOT > 0 ORDER BY m.DESCRICAO -
Precisando estamos ai!! :)
-
rs... isso ai!!! Precisando....
-
Boa tarde Sebola, Fiz um exemplo simples logo abaixo. O retorno está em milisegundos, pois tem duas inserções com status 5 com pouca diferença de tempo. Dê uma olhada pra ver se clareia as ideias... rs. -- criação de temporária CREATE TABLE #StatusMotivo (SMID INT, SMData DATETIME, SMTarID INT, SMStatus INT) -- inserção dos dados INSERT INTO #StatusMotivo VALUES (4254671,'2010-07-31 10:20:57.000',1661576, 0) INSERT INTO #StatusMotivo VALUES (4254672,'2010-07-31 10:20:58.000',1661576, 1 ) INSERT INTO #StatusMotivo VALUES (4255050,'2010-07-31 14:32:37.607',1661576, 5 ) INSERT INTO #StatusMotivo VALUES (4255051,'2010-07-31 14:32:37.750',1661576, 5 ) INSERT INTO #StatusMotivo VALUES (4255269,'2010-07-31 23:42:24.000',1661576, 1 ) INSERT INTO #StatusMotivo VALUES (4255287,'2010-07-31 23:45:12.000',1661576, 9) -- verificação dos 2 registros com status=4 SELECT * FROM #StatusMotivo WHERE SMStatus=5 -- diferença das datas SELECT datediff (ms, (SELECT top 1 sm.SMData FROM #StatusMotivo sm WHERE s.SMTarID=sm.SMTarID AND SMData <> 5 ORDER BY s.SMData DESC), SMData) Diferenca FROM #StatusMotivo s WHERE s.SMStatus=5
-
Gravando resultado de select em arquivo .txt
pergunta respondeu ao Vanessa SA de fulvio em SQL Server
Bom dia Vanessa, Seja bem vindo ao Fórum!! Tem um link logo abaixo na lista que fala sobre isso. Segue: http://scriptbrasil.com.br/forum/index.php?showtopic=168673 -
Boa tarde Dudes, Seria isto? (altere a CHAVE para as colunas de relacionamento entre as tabelas). SELECT c.STA_RVS, c.CONTRATO, c.APLIC, c.DSN_ENV,EMPRESA, t.data from CARACT_TRANS c, TRAFEGO t WHERE c.CHAVE=t.CHAVE
-
Boa tarde Pizero, você pode converter os campos char para float. Ficaria desta forma: select Produtos.Pro_codigo, forengenharia.codigo, Produtos.Pro_descricao from forengenharia inner join Produtos on forengenharia.codigo = Produtos.Pro_codigo where cast (produtos.pro_codigo AS FLOAT) = forengenharia.codigo Mas faça os testes para ver se a conversão retorna o resultado esperado.
-
Boa tarde Pizero, Verifique os tipos das colunas: - forengenharia.codigo e Produtos.Pro_codigo - produtos.pro_codigo e forengenharia.codigo Você está tentando comparar caracter com número.
-
Boa tarde Sebola, Sinceramente não sei qual a melhor. Rode o script com o mapa de execução e olhe se tem diferença no tempo.
-
rs... ai tem que duplicar. Precisando estamos ai!!
-
Boa tarde Sebola, Dá uma olhada se melhora desta forma: DECLARE @DataIni DATETIME set @DataIni = convert(VARCHAR(10), GETDATE(),120) + ' 00:00:00'