Fórum Ajuda com a Select MYSQL #571918
01/12/2016
0
Pessoal estou com duvida na consulta abaixo, no caso é questão do join e iner join, estava usando o where igual ao oracle, mas a questão que o campo da tabela empenho.seq_categoria pode ser nulo ou então se relacionar com o campo categoria.seq_categoria.
SELECT empenho.seq_empenho,
empenho.num_empenho,
empenho.ano_empenho,
empenho.seq_contrato,
empenho.seq_categoria,
empenho.obs_empenho,
DATE_FORMAT(empenho.dt_empenho, '%d/%m/%Y' ) AS dt_empenho,
Format(empenho.val_empenho,2,'de_DE') as val_empenho,
Format(empenho.saldo_empenho,2,'de_DE') as saldo_empenho,
empenho.seq_usuario,
empenho.dt_lancamento,
(empenho.val_empenho - empenho.saldo_empenho) AS diferenca,
categoria.num_categoria,
categoria.des_categoria,
contrato.seq_contrato,
contrato.num_contrato,
contrato.ano_contrato
FROM empenho, categoria INNER JOIN empenho ON (empenho.seq_categoria = categoria.seq_categoria)
contrato LEFT OUTER JOIN empenho ON (empenho.seq_contrato = contrato.seq_contrato)
WHERE empenho.seq_empenho = 1
SELECT empenho.seq_empenho,
empenho.num_empenho,
empenho.ano_empenho,
empenho.seq_contrato,
empenho.seq_categoria,
empenho.obs_empenho,
DATE_FORMAT(empenho.dt_empenho, '%d/%m/%Y' ) AS dt_empenho,
Format(empenho.val_empenho,2,'de_DE') as val_empenho,
Format(empenho.saldo_empenho,2,'de_DE') as saldo_empenho,
empenho.seq_usuario,
empenho.dt_lancamento,
(empenho.val_empenho - empenho.saldo_empenho) AS diferenca,
categoria.num_categoria,
categoria.des_categoria,
contrato.seq_contrato,
contrato.num_contrato,
contrato.ano_contrato
FROM empenho, categoria INNER JOIN empenho ON (empenho.seq_categoria = categoria.seq_categoria)
contrato LEFT OUTER JOIN empenho ON (empenho.seq_contrato = contrato.seq_contrato)
WHERE empenho.seq_empenho = 1
Adriano Gomes
Curtir tópico
+ 0
Responder
Posts
01/12/2016
Jones Granatyr
Olá! Nessa parte do código:
FROM empenho, categoria INNER JOIN empenho ON
Você deve somente colocar depois do FROM uma tabela (somente a principal), e as restante você puxa com o Join. Caso na tabela "empenho" possa ter valores nulos, use o "left outer join"
FROM empenho, categoria INNER JOIN empenho ON
Você deve somente colocar depois do FROM uma tabela (somente a principal), e as restante você puxa com o Join. Caso na tabela "empenho" possa ter valores nulos, use o "left outer join"
Responder
Gostei + 0
02/12/2016
Adriano Gomes
Ok. Deu certo muito obrigado.
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)