Ir para conteúdo
Fórum Script Brasil

crazySerk

Membros
  • Total de itens

    95
  • Registro em

  • Última visita

Sobre crazySerk

crazySerk's Achievements

0

Reputação

  1. Olá pessoal, tudo bom? É o seguinte, estou com um problema cabuloso em uma procedure e não estou conseguindo encontrar a solução, a principio até identifiquei o problema, o problema está sendo nesse trecho aqui... - verifica se existe lead criado para o cliente para a mesma data SET @leadExist = 0; SET @sql = CONCAT('SELECT COUNT(*) INTO @leadExist FROM leads_leads where company_id = ',companyId,' and DATE(created_at) = DATE("',DATE,'") and ( ', 'email = "',email,'" or ( ddd = "',ddd_tel,'" and phone = "',tel,'" ) ) limit 1 '); INSERT INTO debug_msg(TEXT) VALUES ( @sql); PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt; SET leadExist = @leadExist; Ele está retornando a seguinte mensagem: Error Code: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'NULL' at line 1 Pelo que estou entendendo o problema é o COUNT(*) está retornando NULO e não pode inserir na variavel @leadExist, seria isso? Certo? Quando eu retiro esse trecho acima a minha procedure executa tudo certo... Já não sei o que fazer mais... Estou rodando a internet para encontrar uma solução porém não consigo encontrar. Se alguém puder ajudar, agradeço!!!
  2. Markus, conseguiria sem utilizar Union?
  3. Galera, tudo bem com vocês? Estou precisando de uma ajuda no seguinte caso. Possuo uma busca de classificados que os usuários podem buscar palavras chaves e encontrar o q esta procurando, até aqui esta ok. O problema é o seguinte, eu preciso ordenar a busca pela palavra chave seguindo a seguinte regra: - o usuario buscou a palavra HOTEL - primeira condição é ver se a palavra existe no NOME da empresa - Segunda condição é verificar se a palavra existe no KEYWORD da empresa Seguindo essa regra a ideia é que se a pessoa buscou o nome HOTEL todas as empresas que possui o termo "HOTEL" (no campo NOME) vai vim primeiro e posteriormente o que estão no keyword. O que eu fiz ate o momento é essa consulta: SELECT nome, keyword FROM empresas_parceiros WHERE 1=1 AND (nome LIKE '%HOTEL%' OR keyword LIKE '%HOTEL%') ORDER BY nome, keyword LIMIT 0, 20 ; A Saída dessa consulta ficou assim: - Hotel Paraguaia - Clinica Veterinaria (possui a palavra hotel no Keyword) - Posto Shell (idem ) - Hotel De Minas Porém a forma correta que precisava exibir era: - Hotel Paraguaia - Hotel De Minas - Clinica Veterinaria (possui a palavra hotel no Keyword) - Posto Shell (idem ) Alguém já passou por algo parecido? Consigo fazer isso no SQL ? Umas das tentativas eu coloquei um "ORDER BY NOME LIKE '%HOTEL%'" mas não adiantou não.... Agradeço a ajuda!
  4. Alguém sabe se é possivel fazer está ação?
  5. Opa salve galera, seguinte.. não sei se é possivel, mas estou tentando fazer um select com campos dinamicos, para tentar explicar melhor e ser mais direto meu select é este aqui: select a.`cod_oportunidade`, b.nome nome_cliente, c.descricao estado, d.descricao cidade, e.nome nome_funcionario_criou, f.nome nome_funcionario_resp, i.`descricao`, ( case when i.`js_dinamico` = 'S' and h.valor <> null then (select @i.js_descricao as descricao from @i.js_tabela where @i.js_valor = h.valor) else h.valor end ) as valor from oportunidades_clientes a left outer join empresas_clientes b on b.cod_cliente = a.cod_cliente left outer join sistema_estados c on c.cod_estado = b.cod_estado left outer join sistema_cidades d on d.cod_cidade = b.cod_cidade left outer join empresas_funcionario e on e.cod_funcionario = a.cod_funcionario_criou left outer join empresas_funcionario f on f.cod_funcionario = a.cod_funcionario_resp left outer join formulario_valor h on h.`cod_oportunidade` = a.`cod_oportunidade` left outer join formulario_campo i on i.`cod_campo` = h.`cod_campo` where 1 = 1 and a.`cod_oportunidade` = 3 Podem perceber dentro do case estou fazendo um outro select, porém os campos e valores estão vindo do meu select principal, porém não está indo, existe uma maneira disso dar certo?
  6. Otimo deu certo aqui! uma outra dúvida, consigo limitar o group_concat ? Exemplo, eu quero apenas 4 nos que apareça, até mesmo porque suponhamos que tenho um groupo com 10000 a string de nome ficará enorme.
  7. Galera to com uma bronca e não sei se vai ser possivel fazer isso tudo no select mas acredito que sim.. Bom, eu preciso fazer uma busca em uma tabela agrupando os valores iguais, ate o momento meu select esta assim. select count(a.cod_sell) as total, a.cod_user, a.message, date(a.date_register) from sell_request a where a.cod_user = 2 and a.cod_check = 7 and a.cod_accepted = 1 group by a.cod_check, a.cod_sell, a.cod_user order by total desc Este select ai está funcionando tranquilo, estou agrupando os valores atraves do Check, Usuario e do Cod_sell.. O problema está sendo o seguinte.. Como que estou agrupando os valores vamos supor que no meu primeiro registro eu vou ter o atributo alias "total" = 3, então nele teremos 3 usuarios certo? O que eu preciso, nesse select colocar a tabela "user"para saber quem são as pessoas que estão no agrupamento, dessa maneira coloquei esse join: select count(a.cod_sell) as total, a.cod_user, a.message, date(a.date_register), b.nick from sell_request a left outer join user b on b.cod_user = a.cod_user where a.cod_user = 2 and a.cod_check = 7 and a.cod_accepted = 1 group by a.cod_check, a.cod_sell, a.cod_user order by total desc Ele me retorna os itens agrupados porem na coluna "NICK" só aparece o nome de 1 usuario, precisava que nessa coluna aparecesse o nome dos 3 usuarios, poderia aparecer com virgula , tracinho, qualquer forma, mas deveria aparecer.. KKKKK O que preciso fazer? Agradeço ajuda antecipadamente!
  8. Denis, fiz a procedure, e o evento porem fiz um teste aqui o meu evento não esta executando... Coloquei pra eexecutar em minutos porem não executou... não aparece erro na hora de compilar nada.. Esqueci de algo? Evento: DELIMITER $$ ALTER DEFINER=`bancoteste`@`%` EVENT `gerarFaturaAssociado` ON SCHEDULE EVERY 24 HOUR STARTS '2015-02-21 00:00:00' ON COMPLETION PRESERVE ENABLE DO BEGIN CALL gerarFaturaAssociado(); END$$ DELIMITER ; Agora no evento acima coloquei pra executar todo dia a meia noite... mas como citei antes não esta funcionando. Fiz o teste pra executar 5 minutos depois mas não foi...
  9. Olá, estou precisando de uma ajuda... Tenho uma tabela que possuo o cadastro de clientes e nela contem um campo "data_vencimento" e "valor", preciso que todo dia execute uma função no banco que verifique está tabela procurando clientes que estão quase chegando na data de vencimento, isso é 5 dias de vencer, encontrando o cliente neste caso faço uma inserção em outra tabela "cliente_pagamento" colocando o cod_cliente, a data de vencimento e o valor, em resumo estou gerando uma fatura para o cliente, explicando de uma forma melhor ficaria mais ou menos assim... Tabela de cliente: Cliente A - Data Vencimento: 25/02/2015 - Valor: 55,00 no dia 20 geraria automaticamente uma inserção na tabela cliente_pagamento. Como que consigo fazer isto pelo banco?
  10. crazySerk

    json php

    Galera tenho este retorno de JSON: { "CLIENT": 61, "NAME": "TESTE ACESSA", "ACESS": [ { "ALL OPTION": "CONFIGURATION" } ] } a minha duvida é como que faço para mostrar o texto "ALL OPTION" e não o que ele possui.. Por exemplo se eu quiser mostrar o que o ALL OPTION tem eu utilizo: $json->{'ALL OPTION'}; Mas ao invés disso preciso mostrar apenas o nome desse Acesso que seria o ALL OPTION. Como que faço isso?
  11. Galera estou usando este select: SELECT * FROM anuncio_popup a WHERE a.status = 'A' AND a.data_inicio >= NOW() AND a.data_final <= NOW() ORDER BY RAND() LIMIT 1 Preciso verificar se a data atual é maior ou igual a data_inicio se for verdade então a campanha está em andamento ou começa no dia. E também preciso checar se a data atual não ultrapassou a data_final, caso a data atual já passou do prazo final não me retorna nada. Bem basicamente está é a logica. A questão é que não me retorna nada esse select apenas vazio, e possuo dados salvo por exemplo uma campanha que começar hoje (19/03) e que termina dia 25/03... O select acima não deveria funcionar?
  12. Galera, to com uma bronca aqui que acredito que seja simples. Bom tenho uma tabela que fica salvo resumos de livros que foram enviados ( as pessoas digitam um resumo do livro e envia ) na tabela eu tenho 2 colunas que são data_envio que é o dia que foi feito o envio do resumo, e a coluna mes_referencia que é para qual mes aquele resumo foi enviado. O que eu preciso agora, gerar um relatorio de todos os usuarios que enviaram resumo, comparando se a Data de envio é o mesmo que o mes referencia, se a condição for verdadeira o usuario ganha uma estrela se não ele ganha uma bolinha vermelha. Dessa maneira eu montei este select: select a.`USUARIO`, (IF((MONTH(a.`DATA_ENVIO`) = 1 and a.`MES_REFERENCIA` = 1),1,0)) AS 'JAN', (IF((MONTH(a.`DATA_ENVIO`) = 2 and a.`MES_REFERENCIA` = 2),1,0)) AS 'FEV', (IF((MONTH(a.`DATA_ENVIO`) = 3 and a.`MES_REFERENCIA` = 3),1,0)) AS 'MAR' from rh_resumos a group by a.`USUARIO` Qual o erro? na tabela eu tenho 2 valores salvos sendo eles 1 resumo enviado no mes de Janeiro e um para Fevereiro, ambos resumos foram enviados no período certo, Porém quando eu executo este select ele traz apenas este resultado: USUARIO | JAN | FEV | MAR Teste | 0 | 1 | 0 O Correto seria: USUARIO | JAN | FEV | MAR Teste | 1 | 1 | 0 O que fiz de errado?
  13. Galera, tenho este select, e está funcionando normalmente, a minha dúvida é a seguinte. Quando não possuo nenhum dado no periodo buscado ele me retorna nada, porém deveria me retornar os campos Enviada, Aprovada... e etc, com os valores 0, pois estou fazendo a soma com 1 ou somando 0 ? SELECT c.`cod_empresa`, c.`cod_loja`, d.nome AS nome_empresa, (SELECT COUNT(cod_proposta) FROM propostas WHERE cod_empresa = c.`cod_empresa` AND cod_loja = c.cod_loja AND data_cadastro = '2014-01-12') AS 'ENVIADA', SUM(CASE WHEN a.`cod_status` = 2 THEN 1 ELSE 0 END) AS 'ANALISE', SUM(CASE WHEN a.`cod_status` = 3 THEN 1 ELSE 0 END) AS 'PENDENTE', SUM(CASE WHEN a.`cod_status` = 4 THEN 1 ELSE 0 END) AS 'REPROVADA', SUM(CASE WHEN a.`cod_status` = 5 THEN 1 ELSE 0 END) AS 'APROVADA', SUM(CASE WHEN a.`cod_status` = 6 THEN 1 ELSE 0 END) AS 'FATURADA', SUM(CASE WHEN a.`cod_status` = 7 THEN 1 ELSE 0 END) AS 'CANCELADA' FROM propostas c LEFT OUTER JOIN propostas_status a ON (a.`cod_proposta` = c.`cod_proposta`) LEFT OUTER JOIN empresas_usuarios b ON b.`usuario` = c.`usuario` LEFT OUTER JOIN empresas_lojas d ON d.cod_loja = c.cod_loja WHERE 1 = 1 AND c.cod_empresa = 6 AND c.cod_loja = 55 AND c.data_cadastro = '2014-01-12' GROUP BY c.`cod_loja` ORDER BY c.`cod_loja`; O que eu posso fazer pra retornar a empresa mesmo que não tenha nada porém com os valores 0 nos campos..
  14. crazySerk

    CADASTRO PHP E MYSQL

    Adicione isso em seu código... ini_set('display_errors',1); ini_set('display_startup_erros',1); error_reporting(E_ALL); E veja o erro que vai aparecer.
  15. Eu utilizo o SqlYog ele faz isso?
×
×
  • Criar Novo...