-
Conteúdo Similar
-
Por janir.matheus
Boa tarde, peço ajuda dos membros desse fórum pois confesso estar completamente perdido.
Tomando como base o diagrama (em anexo), preciso de uma query que retorne as empresas, seus produtos e as categorias de cada produto, sendo que cada produto pode pertencer a uma ou mais categorias.
select tbl_produtos.Empresa, tbl_empresas.Nome, tbl_catprod.Categoria, tbl_classproduto.Classe, tbl_produtos.Id, tbl_produtos.Produto from tbl_produtos inner join tbl_empresas on tbl_produtos.Empresa = tbl_empresas.Id left join tbl_catprod on tbl_produtos.Id = tbl_catprod.Categoria left join tbl_classproduto on tbl_catprod.Categoria = tbl_classproduto.Id; Tentei a consulta mostrada acima mas o resultado não foi o que eu esperava.
Agradeço antecipadamente pela ajuda.
-
Por FabianoSouza
Pessoal, por que essa query com COLLATE não funciona?
declare @strPesquisa varchar(30) SET @strPesquisa = 'naicle' SET @sql = 'SELECT ' SET @sql = @sql + 'ML.nome ' SET @sql = @sql + 'FROM ' SET @sql = @sql + 'dbo.minhaTab AS ML ' SET @sql = @sql + ' WHERE ' SET @sql = @sql + ' nome LIKE ' SET @sql = @sql + '''%' + @strPesquisa COLLATE Latin1_General_CI_AI + '%''' EXEC (@sql) Não acusa erro ao rodar.
Mas não traz os registro porque está gravado como "naiclê" (com acento), o que significa que não está aplicando a COLLATE.
Montando essa mesma query mas da forma tradicional, o COLLATE funciona.
SELECT ML.nome FROM dbo.minhaTab AS ML WHERE nome LIKE '%'+ @strPesquisa COLLATE Latin1_General_CI_AI+'%'
-
Por peterstefan
Olá, estou com uma query aqui e preciso pegar de 2 campos diferentes os dados diferente de 0, mais quanto tento no AND ele somente traz um resultado, o OR ele traz um dos campos com o valor 0, teria alguma forma de pegar os dados diferente de 0 dos dois campus?
preciso pegar o idOrganizador diferente de 0 e o idPiloto diferente de 0
SELECT * FROM boletos WHERE proc = 0 AND idOrganizador !='0' AND idPiloto ='0';
-
Por Edilson Chaves
Ola amigos, uso curso a algum tempo, só que desta vez estou apanhando de algo que aparentemente e bem simples. Tenho certeza que estou esquecendo algum detalhe.
To a 2 dias me debatendo com isto.
Por isto estou pedindo ajuda.
O que pretendo fazer e criar um novo registro que mostre a evoluçao do crecimento mensal projetando o ponto de equilibrio. Para isto eu preciso pegar a soma do mês anterior e acrescentar a soma do atual.
Esta é a Procedure. Abaixo explico o quer nao esta funcionado.
DROP PROCEDURE IF EXISTS sp_Monitorado;
DELIMITER $$
CREATE PROCEDURE sp_Monitorado()
BEGIN
DECLARE done INT DEFAULT FALSE;
DECLARE vVlrMesAtuPrv, vVlrMesAntPrv, vVlrMesAtuRea, vVlrMesAntRea, vPrevisto, vRealizado numeric(10,2);
DECLARE vAnoAtu, vMesAtu, vOrdem, vAno, vMes INT;
DECLARE vGrupo, vSubGrupo, vPessoa, vPessoaAtu VARCHAR(100);
DECLARE cDados CURSOR FOR SELECT Ordem, Grupo, SubGrupo, Pessoa, Ano, Mes, Previsto, Realizado FROM vwresultadomonitoramento;
DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE;
OPEN cDados;
read_loop: LOOP
FETCH cDados INTO vOrdem, vGrupo, vSubGrupo, vPessoa, vAno, vMes, vPrevisto, vRealizado;
IF done THEN
LEAVE read_loop;
END IF;
IF vOrdem <= 4 THEN
SET vVlrMesAtuPrv = vVlrMesAtuPrv + vPrevisto;
SET vVlrMesAtuRea = vVlrMesAtuRea + vRealizado;
INSERT INTO zzResultado VALUES (vOrdem, vGrupo, vSubGrupo, vPessoa, vAno, vMes, vPrevisto, vVlrMesAtuPrv);
END IF;
IF vOrdem = 4 THEN
SET vVlrMesAntPrv = vVlrMesAntPrv + vVlrMesAtuPrv;
SET vVlrMesAntRea = vVlrMesAntRea + vVlrMesAtuRea;
INSERT INTO zzResultado VALUES (99, vGrupo, 'PONTO DE EQUILIBRIO', vPessoa, vAno, vMes, vVlrMesAntPrv, vVlrMesAntRea);
SET vVlrMesAtuPrv = 0;
SET vVlrMesAtuPrv = 0;
END IF;
END LOOP read_loop;
CLOSE cDados;
END;
$$ DELIMITER;
Quando co cursor entra nesta condiçao abaixo ele deveria pegar o valor acumulado anterior e acrescentar as variaveis (vVlrMesAntPrv, vVlrMesAntRea). So que o valor se perde e fica tudo zerado.
Alguém pode me dizer onde estou errando.
Anexo tem um print do resultado que pretendo ter
IF vOrdem = 4 THEN
SET vVlrMesAntPrv = vVlrMesAntPrv + vVlrMesAtuPrv;
SET vVlrMesAntRea = vVlrMesAntRea + vVlrMesAtuRea;
INSERT INTO zzResultado VALUES (99, vGrupo, 'PONTO DE EQUILIBRIO', vPessoa, vAno, vMes, vVlrMesAntPrv, vVlrMesAntRea);
SET vVlrMesAtuPrv = 0;
SET vVlrMesAtuPrv = 0;
END IF;
-
Por TeixeiraRamos
Olá pessoal,
Por favor, tem que ser feita alguma mudança no código depois que se muda para a versão Wampserver64?
Estou tentando abrir as minhas páginas e mostra erro. Um exemplo:
No exemplo a linha 62:
$result = $PDO->query($sql); No phpMyAdmin fiz o teste com a sql é funcionou corretamente.
Obrigado
-