CrazyLOL 2 Denunciar post Postado Janeiro 21, 2016 Galera to com uma pequena bronca e nao estou conseguindo resolver, é o seguinte. Tenho uma tabela chamada "formulario_campo" nela eu tenho os seguintes valores: - nome - cpf - nascimento E tenho uma tabela chamada formulario_valor que recebe os valores do campo ficando assim - campo: nome , valor : Jose - campo: cpf , valor : 123 - campo: nascimento , valor : dezembro Ate aqui esta OK, quando dou um select usando Left outer Join ele me traz os resultados certinho e bonitinho.. a questão esta no seguinte item... Na tabela formulario_campo, adicionei um novo campo chamado "sobrenome", respectivamente na tabela formulario_valor ainda nao tenho este novo campo adicionado pois por ser um novo campo ninguem cadastrou o sobrenome sendo assim este valor nao existe na tabela formulario_valor, certo? Neste momento eu estou dando um select na tabela formulario_campo e dando join na tabela formulario_valor para trazer todos os campos que foram preenchidos, a duvida esta no seguinte ponto, eu preciso que o campo "sobrenome" venha tambem, mesmo nao existindo la porem preciso que venha com o valor de NULL, tecnicamente o LEFT OUTER JOIN nao resolveria este problema? No momento ele so me retorna os 3 campos inicias, o novo campo que adicionei nao vem na lista... Abaixo o meu select SELECT a.`cod_campo`, a.`descricao`, b.valor, b.`cod_formulario`, b.`cod_oportunidade` FROM formulario_campo a LEFT OUTER JOIN formulario_valor b ON ( a.`cod_campo` = b.`cod_campo` AND a.`cod_formulario` = b.`cod_formulario` ) WHERE b.cod_oportunidade = 145 ORDER BY a.`ordem` O que posso fazer para resolver isto? Compartilhar este post Link para o post Compartilhar em outros sites
Motta 645 Denunciar post Postado Janeiro 21, 2016 Bastaria incluir o campo no SELECT , creio. Compartilhar este post Link para o post Compartilhar em outros sites
CrazyLOL 2 Denunciar post Postado Janeiro 21, 2016 Opa, obrigado pela Resposta Motta, mas nao compreendi? Incluir o campo no select? Na realidade os valores que possuo na tabela formulario_campo não é um campo mas sim um registro.. Na tabela formulario_campo eu possuo a estrutura (cod_campo, cod_formulario) os registros nela são: - Cod_campo: nome, cod_formulario : 1 - Cod_campo: cpf, cod_formulario : 1 - Cod_campo: nascimento, cod_formulario : 1 Na tabela formulario_valor eu faço o recebimento das respostas do usuario no caso ele tem os 4 campos (cod_campo FK FormularioCampo, cod_formulario FK FormularioCampo, cod_oportunidade FK Cliente, valor) E nesta tabela fica salvo os registros com as respostas.. Porém como citei quando adicionei um novo campo na tabela formulario_campo mesmo nao existindo esse valor na tabela formulario_valor precisaria que ele me retornasse mesmo com o valor de null, tecnicamente deveria me retornar este tipo de resultado: Cod_campo: Nome, valor: Jose Cod_campo: cpf , valor: 123 Cod_campo: nascimento, valor: dezembro Cod_campo: sobrenome, valor: null Compartilhar este post Link para o post Compartilhar em outros sites
rockrgo 138 Denunciar post Postado Janeiro 21, 2016 Acho que o que o @Motta quis dizer é para fazer somente isto: SELECT a.`cod_campo`, a.`descricao`, a.sobrenome, ... Compartilhar este post Link para o post Compartilhar em outros sites
CrazyLOL 2 Denunciar post Postado Janeiro 21, 2016 Obrigado pela Reposta Rockrgo, porém como citei os valores dentro da tabela formulario_campo é registros, para ilustrar melhor ainda, aqui um print basico usando o select acima: https://www.dropbox.com/s/1ffi1ptidomayhe/Captura%20de%20tela%202016-01-21%2009.20.40.png?dl=0 Lembrando que estou trabalhando com campos dinamicos de um formulario, e colocando a maneira que citaram nao funcionaria... Compartilhar este post Link para o post Compartilhar em outros sites
Motta 645 Denunciar post Postado Janeiro 21, 2016 Se foi criada nova coluna na tabela os passos seriam : Incluir a nova coluna no sqls do sistema em que ela é necessária. Incluir o campo de exibição na aplicação "front-end" Sua dúvida não me parece de Banco de dados e sim de como implementar este novo campo. Compartilhar este post Link para o post Compartilhar em outros sites
CrazyLOL 2 Denunciar post Postado Janeiro 25, 2016 Opa, agradeço a resposta, mas acredito que seja no banco de dados porque estou gerando um relatorio Dinamico... Como o exemplo eu citei acima eu tenho registros que formara o meu formulario (formulario_campo), nele temos Nome, sexo, Nascimento e outros campos que poderão surgir.. quando a pessoa responde isso vinculo as respostas do campo e do valor na tabela ( formulario_valor ). Até aqui ok... Agora vou gerar um relatorio do cod_formulario = 1 (esse formulario é de usuario, pode ter N formularios criados com N campos ) Nesse formulario 1 é do exemplo que estou citando, como disse pode ter momentos que eu adicione um novo campo que ainda nao existe respostas porém seria necessário que ele viesse com o valor ou qualquer coisa mas tem que vim este campo. No meu pensamento o LEFT OUTER deveria trazer tudo da tabela formulario_campo , inclusive campos que não existem na tabela Formulario_valor, não é? Compartilhar este post Link para o post Compartilhar em outros sites
Motta 645 Denunciar post Postado Janeiro 26, 2016 Outer join é um tipo de join que trás resultados mesmos quando não existam correspondentes. Um exemplo : FUNCIONARIOS e DEPENDENTES . Um join deste tipo deve trazer Funcionários que não tenham dependentes. Não tem relação com novas colunas em uma tabela. Compartilhar este post Link para o post Compartilhar em outros sites
CrazyLOL 2 Denunciar post Postado Fevereiro 8, 2016 ~Estava pensando aqui, no caso ele vai retornar valores mesmo que não estão na tabela, mas neste item eu estou trabalhando registros e não novos atributos de uma tabela certo? Reformulando a pergunta agora, como retorno valores de um registro que não possuem em outra tabela, que no caso seria este exemplo que citei.. Compartilhar este post Link para o post Compartilhar em outros sites
Motta 645 Denunciar post Postado Fevereiro 8, 2016 http://forum.imasters.com.br/topic/544918-select-ignorando-ocorrencias-em-outra-tabela/ http://forum.imasters.com.br/topic/543603-tabelas-nao-relacionadas-com-tabela-x-usando-information-schema/ Compartilhar este post Link para o post Compartilhar em outros sites
giesta 29 Denunciar post Postado Fevereiro 12, 2016 posta um exemplo dos dados e como vc gostaria que fosse o resultado da consulta Compartilhar este post Link para o post Compartilhar em outros sites