..:: MX Studio Fóruns ::..: Usando UNION no Lumine - ..:: MX Studio Fóruns ::..

Jump to content

Publicidade




Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

Usando UNION no Lumine

#1 User is offline   Gustavo-- 

  • Group: Membros
  • Posts: 3
  • Joined: 27-August 10

Posted 27 August 2010 - 05:28 PM

Olá a todos, esta é minha primeira mensagem no fórum e começo já com uma dúvida.
Estou desenvolvendo um sistema onde tenho que fazer um controle de documentos e em um determinado momento devo listar todos os documentos de propriedade da pessoa logada e também os documentos que sejam de outras pessoas mas relacionadas ao departamento da pessoa logada.

Para isso escrevi uma consulta SQL que retorna exatamente o que preciso, porém não sei como transcrevê-la para o Lumine.
A consulta é esta:

select  p.nome as proprietario, doc.codigo as coddoc, doc.nome, doc.ativo, doc.aprovado from pessoa p
                      inner join colaborador c on p.codigo = c.pessoa
                      inner join departamento d on c.departamento = d.codigo
                      inner join documento_departamento dd on d.codigo = dd.departamento
                      inner join documento doc on dd.documento = doc.codigo and doc.proprietario = p.codigo
                      where p.codigo = $cod_pessoa
                      UNION
                      select p.nome as proprietario, dd.documento as coddoc, doc.nome, doc.ativo, doc.aprovado from documento_departamento dd
                      inner join documento doc on dd.documento = doc.codigo
                      inner join pessoa p on doc.proprietario = p.codigo
                      where dd.departamento in(select departamento from colaborador where pessoa=$cod_pessoa) and doc.proprietario <> $cod_pessoa


Para um melhor entendimento:

A tabela DOCUMENTO se relaciona 1-N com PESSOA
A tabela PESSOA se relaciona 1-N com COLABORADOR
A tabela COLABORADOR se relaciona 1-N DEPARTAMENTO
A tabela DOCUMENTO se relaciona N-N com DEPARTAMENTO, assim eu tenho a tabela DOCUMENTO_DEPARTAMENTO

Meu objetivo(já alcançado com essa consulta) é trazer os documentos de propriedade de uma pessoa e os documentos que tenham relação com o departamento dessa pessoa independente do proprietário.

Alguém sabe me ajudar?

Grato pela atenção

Gustavo

PS: Se alguém souber uma outra forma de trazer os mesmos resultados de maneira mais simplificada por favor me diga.
0

#2 User is offline   Gustavo-- 

  • Group: Membros
  • Posts: 3
  • Joined: 27-August 10

Posted 31 August 2010 - 11:42 AM

Resolvi meu problema de maneira alternativa.
Executei a instrução SQL manualmente(fora do Lumine) direcionando sua saída para uma temp table e com o Lumine acessei a temp table.

Se alguém souber uma maneira melhor de fazer isso por favor, deixe uma mensagem.


Obrigado.
0

#3 User is offline   hufersil 

  • Group: Moderadores
  • Posts: 1266
  • Joined: 15-January 04

Posted 04 September 2010 - 12:39 PM

View PostGustavo--, on 31 August 2010 - 11:42 AM, said:

Resolvi meu problema de maneira alternativa.
Executei a instrução SQL manualmente(fora do Lumine) direcionando sua saída para uma temp table e com o Lumine acessei a temp table.

Se alguém souber uma maneira melhor de fazer isso por favor, deixe uma mensagem.


Obrigado.


Olá Gustavo,

Eu não tinha visto a mensagem.

Para fazer Union com Lumine, você deve fazer:

$union = $obj1->union( $obj2 );

$union->find();


Todos os joins, condições, etc, devem ser feitos nos dois objetos antes de realizar o union.

@braços e fique com Deus!
0

Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic



Publicidade




1 User(s) are reading this topic
0 membro(s), 1 visitante(s) e 0 membros anônimo(s)