Ir para conteúdo
Fórum Script Brasil

CAIO.EXE

Membros
  • Total de itens

    91
  • Registro em

  • Última visita

Tudo que CAIO.EXE postou

  1. cara adicione uma condição do tipo: where for1 <> for2 and for2 <> for3 and for1 <> for3 acho que já remove a linha que voce não quer.
  2. Amigo, explique melhor seu problema como assim a PRECIFICAÇÂO não pode repetir?
  3. Vlw Denis! alterei minha proc para uma function e consegui exatamente o que queria! muito obrigado!.
  4. CAIO.EXE

    COMO FAZER

    cara, minha sugestao, faça com a ferramenta que você conhecer, seja ela qual for, não existe o certo e o errado, nem o melhor e o pior. outra dica: plagio é crime.
  5. Tercio, acredito que você terá que remover os privilégios de update e delete dos usuários nesta tabela, é trabalho, mas no momento é a unica saida que encontrei. pesquisei algo como EDIT TABLE tabela read-only = on mas não encontrei
  6. Cara, naocompreendi sua pergunta... Como assim deixar constante? não permitir que nenhum usuário altere? agora, se você quer que o campo cresça automaticamente utilize o auto increment.
  7. Srs(as), bom dia! Estou montando uma consulta onde precisei criar uma proc que lista varias linhas em apenas uma coluna, agora, preciso executar esta proc dentro da minha querie. há esta possibilidade? Obrigado.
  8. CAIO.EXE

    Busca SQL

    cara, faz um teste, executa a querie, só que ao invés de utilizar as variaveis utilize palavras que você tem certeza que gerarão resultado, como no exemplo que você citou: BARRACA em são PAULO por exemplo Se esta querie também não funcionar remova todas as condiçoes de existencia e vá adicionando-as aos poucos, uma por vez e verificando o resutlado, acredito que alguma condição esteja errada.
  9. cara, se sua querie sempre retornar 2 casas decimais você pode fazer utilizar a função RIGHT(CAMPO,posições) desta forma: select right(12.70,2); esta querie retorna apenas o 70 (2 posições contando da direita para esquerda) Há outra função que percorre o campo, procuram uma dweterminada string mas eu não me recordo qual é, se eu lembrar eu posto pra você.
  10. CAIO.EXE

    Busca SQL

    Cara, a querie que nosso amigo postou está certa, o problema é que você utiliza a mesma variavel em 2 lugares: fazgc_cadastro_empresa_associada.ramo_atividade_associada LIKE '%" . $stringBusca . "%' fazgc_cadastro_produto_empresa_associada.descricao_produto_1_associada LIKE '%" . $stringBusca . "%' Me desculpe se minha lógica está errada, mas se o usuário procurar por BARRACA em são PAULO ele teria: $stringdebusca = BARRACA $cidadeBusca = são PAULO ou seja: RAMO DE ATIVIDADE = BARRACA PRODUTO = BARRACA CIDADE = são PAULO crie outra variavel para o ramo de atividade e faça o teste.
  11. CAIO.EXE

    JOIN demorado

    Parub@, bom dia. Em primeiro lugar, qual o tamanho das suas tabelas? pois, vi que você não utiliza nenhum filtro, assim a tabela toda será processada. Tente o seguinte: SELECT Clientes.clt_Id, Clientes.clt_Data, Clientes.clt_Nome, Clientes.clt_Email, COUNT(Pedidos.ped_Id) AS NPeds FROM Clientes, Pedidos WHERE Clientes.clt_Id = Pedidos.ped_ClienteId GROUP BY clt_Id, clt_Data, clt_Nome, clt_Email ORDER BY clt_Data DESC Uma dica legal é SEMPRE deixar a tabela menor do lado esquerdo e utilizar o JOIN desta forma: FROM CLIENTE JOIN PEDIDOS ON Clientes.clt_Id = Pedidos.ped_ClienteId e se nada disso funcionar verifique também os indices.
  12. meu rei, assim é mais facil: SELECT CIDADE, CASE SEXO WHEN 'F' THEN COUNT(SEXO) END AS FEMININO CASE SEXO WHEN 'M' THEN COUNT(SEXO) END AS MASCULINO FROM TABELA GOUP BY CIDADE Cara, montei o exemplo a cima no SQL Server, talvez a sintaxe não bata com o MySQL, mas a ideia é a mesma, utilizar o case e o count para saber quantos individuos existem nas cidades separado por sexo. O exemplo do nosso amigo Programador gera muitas consultas desnecessárias, pois para cada linha que a querie retorna outras 2 subqueries são executadas.
  13. CAIO.EXE

    Rotina de backup

    Senhores, bom dia. Estou montando um servidor para um cliente e aplicando as medidas de segurança possíveis, criei no BD um usuário com os privilégios minimos para criar o backup, porém, no SO só consigo fazer a rotina de backup funcionar com um usuário administrador (falha grave de segurança), já tentei dar permissão total na pasta de armazenamento do backup mas não funcionou. Alguém pode me passar onde e quais privilégios dar para o usuário de backup? Obrigado.
  14. Bred, Se a aplicação for executada localmente você precisará isnstalar o SQL na máquina do usuário, recomendo instalar o SQL Express que é free. Sei que existem programas onde você cria o instalador, assim pode adicionar o SQL para ser instalado junto com a ferramenta, porém, nunca os utilizei. Abrs. Caio Cardoso
  15. Jr. bom dia. A primeira coisa para criar o join é identificar quais são as chaves de relacionamento; identificadas basta fazer o join, ou adicionar as condições de igualdade na clausula where (eu prefiro desta forma). segue exemplo: temos 3 tabelas: A, B e C create table A( cod_A int, descricao varchar(50) ) create table B( cod_B int, descricao varchar(50), cod_A int ) create table C( cod_C int, descricao(50), cod_B int ) * não irei criar as PKs e FKs para acelerar a explicação as relações entre as tabelas são: A.cod_A = B.cod_A B.cod_B = C.cod_B Neste contexto uma querie que une as 3 tabela seria: select a.descricao, b.descricao, c.descricao from a, b, c where a.cod_A = b.codA and b.cod_B = c.cod_B Espero ter ajudado. Abrs Caio Cardoso
  16. cara muito, mas muito mais facil que isso é usar um UNION --sua consulta SELECT convert(varchar,O.Ordem), O.Item, O.Descricao, O.Qtde, U.Nome, Sum(T.Tempo) AS [TT], TT/Qtde as TP FROM Ordens O, Tempos T, Usuarios U WHERE O.idop = T.idop and T.iduser=U.iduser AND ORDEM='12345' GROUP BY O.Ordem, O.Item, O.Descricao, U.Nome, O.Qtde UNION --total SELECT 'TOTAL', '', '', '', '', Sum(T.Tempo) AS [TT], '' FROM Ordens O, Tempos T, Usuarios U WHERE O.idop = T.idop and T.iduser=U.iduser AND ORDEM='12345' suas unicas preocupaçoes devem ser: - A quantidade de colunas devem ser a mesma nas duas consultas; - Deve respeitar o tipo de cada coluna int com int e char com char; - manter as mesmas condições nas duas querys, como na primeira consulta voce definiu que a ORDEM deve ser igual a 12345 a segunda query tambem deve somar somente as ORDEM igual a 12345. Espero ter ajudado. ultimamente estou participando pouco do forum qualquer coisa mande email para caio_cardoso87@hotmail que caso possa ajudar responderei com muito prazer.
  17. cara usa um convert(numeric(10,2), campo) quando você usa a funçao NUMERIC você define o tamanho TOTAL do numero e a quantidade de numeros depois da virgula. abs
  18. cara como a Andreia disse você não precisa de subselect neste caso com JOIN você já resolve seu problema. e somente para fim de conhecimento a forma q você fez o subselect esta errado segue exemplo select A.cod, A.descricao, (select sum(B.valor) from tabela2 B where B.codTab1 = A.cod) from tabela1 A group by A.cod, A.descricao abs
  19. fera, o identity se aplica corretamente no seu caso, o que acontece é que você não deve ter entendido como funciona. a sintaxe é a seguinte: IDENTITY(valor_inicial,incremento) ou seja voce quer que começe a partir do 1000? pois então ficaria assim: create table cadastro( codigo int IDENTITY(1000,1) nome varchar(100) ) o primeiro registro inserido virá com o codigo = 1000 o proximo 1001, 1002 e assim por diante se eu trocar o 1 por 2 por exemplo a sequencia seria 1000, 1002, 1004 esperoter ajudado abs
  20. Fera, a primeira a fazer é criar uma senha forte pra estas contas e se possivel aplicar politica de expiração de senha mas caso essa senha tenha q ser engessada por causa de algum aplicativo sugiro q atribua a menor quantidade de privilegios possiveis pra esses caras por exemplo se o USR_RELATORIOS precisa apenas dar um select em uma determinada tabela (T_RELARIOS por exemplo) de permissao pra ele fazer somente isso, neste caso ele não precisa ter permissao de criar, alterar ou excluir qualquer coisa do banco. forte abraço
  21. cara qual versao do sql 2005 você usa? no meu caso é a developer mas acredito q versoes mais limitadas não possuam esta opcao
  22. fera, é muito simples... o nome é o q menos importa (corretorxparcero, tab_A) agora os campos você vai colocar as chaves primarias das tabelas q você quer relacionar.. cod_parceiro cod_corretor você pode adicionar outros campos, mas informações como nome, endereço ou telefone de qualquer uma das partes você estaria duplicando informação e são desnecessarias, informações como data da parceria, ou o usuario q realizou são exemplos de informações validas q você pode colocar. da uma olhada neste link q esplica um pouco sobre formas normais http://pt.wikipedia.org/wiki/Normalização_em_banco_de_dados espero ter sido util abraço
  23. cara, indo no object explorer do management studio clique com o botao direito do mouse no banco que você quer lincar com o outro banco, va em Task>import data... vai abrir um wizerd super simples ecolha o data source referente ao banco q você quer, pelo q sei, não há data source para este banco q você quer, mas possivelmente você consiga no site do banco. forte abraço
  24. Boa Leonardo, mandou muito bem, realemente mais facil e com muito menos linha.
  25. CAIO.EXE

    Faturamento mensal

    Cara aparentemente sua query esta certa, tenta formatar as datas que você passa como parametro no BETWEEN select year(compra.datacom), itemcom.coditemcom, sum(itemcom.qntprocom), produto.despro from compra,itemcom,produto where compra.codcom = itemcom.coditemcom and compra.datacom between CONVERT(DATETIME,'2009-01-01',103) and CONVERT(DATETIME,'2009-12-31' ,103) and itemcom.coditemcom = produto.codpro group by compra.datacom, itemcom.coditemcom, produto.despro; abr
×
×
  • Criar Novo...