[firebase-br] RES: RES: RES: RES: Consulta SQL

Carlos Phelippe carlos.phelippe em digilab.com.br
Seg Mar 30 09:01:14 -03 2015


Tentei assim:

    SQL.Add('Select n.titulo, n.id_negocio, n.id_pessoa, n.id_usuario, n.valor_negocio, n.data_iniciar, n.data_terminar, n.etapas, n.Visibilidade, n.resultado '+
            'from negocios n, pessoas p '+
            'where '+
            'n.id_Pessoa = p.id_Pessoa and p.id_Pessoa in (select distinct(p.id_Pessoa) from pessoas p '+
            'left join telefones t on p.id_Pessoa = t.id_Pessoa '+
            'left join tipos_telefone tt on t.id_tipo_Telefone = tt.id_Tipo_Telefone '+
            'left join operadoras o on t.id_Operadora = o.id_Operadora '+
            'left join hp_midias_sociais hpm on p.id_Pessoa = hpm.id_Pessoa '+
            'left join hp_tipos_midia_social hpmt on hpmt.id_tipo_midia_social = hpm.id_tipo_midia_social '+
            'left join status s on p.id_Status = s.id_Status '+
            'left join documentos doc on p.id_pessoa = doc.id_pessoa '+
            'left join grupos g on p.id_grupo = g.id_grupo '+
            'where  '+
            '((hpm.url containing :URL) or (t.numero like :NUMERO) or (doc.valor containing :DOCUMENTO) or (p.nome containing :NOME) or (p.observacao containing :NOME))) '+
            'and ((n.observacao containing :Valor) or (n.valor_negocio containing :Valor) or (n.titulo containing :NOME)) '+
            'order by data_iniciar, data_terminar, valor_negocio, p.nome');


Mas ainda sem sucesso...



________________________________________
De: lista [lista-bounces em firebase.com.br] em nome de Alexandre [camilo em apollosistemas.com.br]
Enviado: segunda-feira, 30 de março de 2015 8:56
Para: FireBase
Assunto: Re: [firebase-br] RES:  RES:  RES:  Consulta SQL

Mas sempre serão retornados apenas estes campos? caso a resposta seja
sim, basta adicionar DISTINCT depois do select no primeiro SQL que vc
enviou.


Alexandre Camilo
+55 27 3233-4143

On 30/03/2015 08:24, Carlos Phelippe wrote:
> Por causa do pesquisa.
>
> Pretendo retornar negócios por parte do telefone, ou por parte do e-mail entende?
>
> ________________________________________
> De: lista [lista-bounces em firebase.com.br] em nome de Alexandre [camilo em apollosistemas.com.br]
> Enviado: segunda-feira, 30 de março de 2015 8:13
> Para: FireBase
> Assunto: Re: [firebase-br] RES:  RES:  Consulta SQL
>
> Bom dia Carlos,  uma pergunta a respeito do select.  Por que incluir
> este monte de tabelas no from, sendo que voce so esta mostrando
> resultados da tabela negocios ?
>
> Alexandre Camilo
> +55 27 3233-4143
>
> On 29/03/2015 20:32, Carlos Phelippe wrote:
>> Cheguei a isso:
>>
>> Select n.id_negocio, n.id_pessoa, n.titulo, n.id_usuario, n.valor_negocio, n.data_iniciar, n.data_terminar, n.etapas, n.Visibilidade, n.resultado
>> from negocios n, pessoas p
>> where
>> n.id_Pessoa = p.id_pessoa and p.id_pessoa in (Select distinct(p.id_pessoa)
>> from pessoas p
>> left join telefones t on p.id_Pessoa = t.id_Pessoa
>> left join tipos_telefone tt on t.id_tipo_Telefone = tt.id_Tipo_Telefone
>> left join operadoras o on t.id_Operadora = o.id_Operadora
>> left join hp_midias_sociais hpm on p.id_Pessoa = hpm.id_Pessoa
>> left join hp_tipos_midia_social hpmt on hpmt.id_tipo_midia_social = hpm.id_tipo_midia_social
>> left join status s on p.id_Status = s.id_Status
>> left join documentos doc on p.id_pessoa = doc.id_pessoa
>> left join grupos g on p.id_grupo = g.id_grupo
>> left join historicos h on p.id_pessoa = h.id_Pessoa)
>>
>> O que acham?
>>
>>
>> ________________________________________
>> De: lista [lista-bounces em firebase.com.br] em nome de Carlos Phelippe [carlos.phelippe em digilab.com.br]
>> Enviado: domingo, 29 de março de 2015 20:02
>> Para: FireBase
>> Assunto: [firebase-br] RES:  Consulta SQL
>>
>> Dá isso:
>> Invalid expression in the @1 (not contained in either an aggregate function or the GROUP BY clause)
>>
>> ________________________________________
>> De: lista [lista-bounces em firebase.com.br] em nome de Flavio Pereira [flavio em c2sistemas.com.br]
>> Enviado: domingo, 29 de março de 2015 19:59
>> Para: FireBase
>> Assunto: Re: [firebase-br] Consulta SQL
>>
>> Rapaz acho que se você der um group by no id do cliente resolve.
>> Em 29/03/2015 19:40, "Carlos Phelippe" <carlos.phelippe em digilab.com.br>
>> escreveu:
>>
>>> Olá pessoa!
>>>
>>> Estou tentando a consulta abaixo:
>>>
>>> Select n.id_negocio, n.id_pessoa, n.titulo, n.id_usuario, n.valor_negocio,
>>> n.data_iniciar, n.data_terminar, n.etapas, n.Visibilidade, n.resultado
>>> from negocios n
>>> left join pessoas p on p.id_pessoa = n.id_pessoa
>>> left join telefones t on p.id_Pessoa = t.id_Pessoa
>>> left join tipos_telefone tt on t.id_tipo_Telefone = tt.id_Tipo_Telefone
>>> left join operadoras o on t.id_Operadora = o.id_Operadora
>>> left join hp_midias_sociais hpm on p.id_Pessoa = hpm.id_Pessoa
>>> left join hp_tipos_midia_social hpmt on hpmt.id_tipo_midia_social =
>>> hpm.id_tipo_midia_social
>>> left join status s on p.id_Status = s.id_Status
>>> left join documentos doc on p.id_pessoa = doc.id_pessoa
>>> left join grupos g on p.id_grupo = g.id_grupo
>>> order by n.id_negocio
>>>
>>> Ocorre que quando a pessoa tem, por exemplo, 2 telefones ou 2 e-mails  ou
>>> 2 ou mais registros nas tabelas relacionadas com o left join tenho
>>> registros repetidos. Como solucionar isso?
>>>
>>> Uma pessoa pode ter n negócios relacionados a ela mas, por exemplo, ter 0
>>> ou mais telefones e assim por diante.
>>> [
>>> http://www.digilab.com.br/wp-content/themes/Digilab/images/logo_digilab.jpg]
>>>    Carlos Phelippe
>>> Analista de Sistemas
>>> +55 48 3091-4700 Ramal 107
>>> digilab.com.br<http://www.digilab.com.br>
>>>
>>> ______________________________________________
>>> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
>>> Para saber como gerenciar/excluir seu cadastro na lista, use:
>>> http://www.firebase.com.br/fb/artigo.php?id=1107
>>> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>>>
>> ______________________________________________
>> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
>> Para saber como gerenciar/excluir seu cadastro na lista, use: http://www.firebase.com.br/fb/artigo.php?id=1107
>> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>>
>> ______________________________________________
>> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
>> Para saber como gerenciar/excluir seu cadastro na lista, use: http://www.firebase.com.br/fb/artigo.php?id=1107
>> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>>
>> ______________________________________________
>> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
>> Para saber como gerenciar/excluir seu cadastro na lista, use: http://www.firebase.com.br/fb/artigo.php?id=1107
>> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>>
>
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para saber como gerenciar/excluir seu cadastro na lista, use: http://www.firebase.com.br/fb/artigo.php?id=1107
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para saber como gerenciar/excluir seu cadastro na lista, use: http://www.firebase.com.br/fb/artigo.php?id=1107
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>


______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
Para saber como gerenciar/excluir seu cadastro na lista, use: http://www.firebase.com.br/fb/artigo.php?id=1107
Para consultar mensagens antigas: http://firebase.com.br/pesquisa




Mais detalhes sobre a lista de discussão lista