Criar Subselect

29/01/2013

Boa noite pessoal,

como faço para criar um SubSelect,

entre duas tabelas ?

Anderson Mendes

Melhor resposta

29/01/2013

Opa, qual seria a necessidade e a estrutura das tabelas?
Assim facilita para vermos aí como vai ser a estrutura dessa consulta.

Joel Rodrigues

Responder Citar

Outras Respostas

30/01/2013

Anderson Mendes

Joel,

a necessidade seria trazer o maior

o valor dentre duas tabelas que estou tentando

fazer um subselect.
Responder Citar

30/01/2013

Joel Rodrigues

Então, amigo, mas nos mostre a estrutura das tabelas e o que você precisa. Assim por cima fica muito difícil.
Responder Citar

31/01/2013

Alex Lekao

Oi Anderson, Boa tarde!!!

Como o Joel disse, sem mais detalhes fica difícil lhe oferecer algo que seja eficiente, mas vou usar um exemplo de data de venda de cliente, não sei se ficara correto, pode ser que tenha erro na estrutura pq não testei, mas vamos la.

Select codcli,nome,(select max(cb.datavenda) from cabvenda as cb where cb.datavenda between '01.01.2012' and '31.12.2012' and cb.codcli = cl.codcli) from cliente.

Espero que iste te de um norte.

como disse não testes então pode conter algum erro.

Diga se conseguiu resolver e como foi.

Abraco.

Alex - Lekao
Responder Citar

31/01/2013

Anderson Mendes

Então Alex,

pela sua estrutura não consegui resolver.

Tenho uma tabela para cadastro de endereço onde

preciso saber o maior percentual do atributo Perc_End,

daquele determinado cliente.

O select que estou realizando esta da seguinte forma abaixo:

SELECT CPF, LOGRADOURO, PERC_END FROM CLIENTE
WHERE CPF = '000000000000' AND SELECT MAX(PERC_END) FROM ENDERECO 


Isto esta me gerando erro. Como posso proceder para resolver ?
Responder Citar

31/01/2013

Joel Rodrigues

Seria isso:

SELECT CPF, LOGRADOURO, PERC_END FROM CLIENTE
WHERE CPF = '000000000000' AND PERC_END = (SELECT MAX(PERC_END) FROM ENDERECO)


Nesse caso você seleciona os campos da tabela cliente cujo registro possuir o campo CPF igual a '00000000000' e o campo PERC_END for igual ao maior valor de PERC_END na tabela de endereços.
Responder Citar

01/02/2013

Rbbarreto

Responder Citar

01/02/2013

Rbbarreto

desconsidere o mensagem Anterior,

Tem muito coisa no net, da uma olhada neste link abaixo:

http://www.devmedia.com.br/conceitos-e-exemplos-praticos-union-e-subquery-sql-server-2008-parte-1/19166

Responder Citar

04/02/2013

Anderson Mendes

Valeu galera,

vocês são demais.

A dúvida foi sanada. Thanks!
Responder Citar

06/04/2016

Mateus Serafim

Seria isso:
SELECT CPF, LOGRADOURO, PERC_END FROM CLIENTE
WHERE CPF = '000000000000' AND PERC_END = (SELECT MAX(PERC_END) FROM ENDERECO)
Nesse caso você seleciona os campos da tabela cliente cujo registro possuir o campo CPF igual a '00000000000' e o campo PERC_END for igual ao maior valor de PERC_END na tabela de endereços.





Poderia me ajudar em um caso parecido?
Responder Citar

06/04/2016

Marcos P

Parecido, mas não igual... certo ?

Descreva melhor os detalhes do seu caso e porque você não conseguiu resolver com as dicas desse post...
Responder Citar

06/04/2016

Alex Lekao

talves possa ser mais interessante abrir um novo post. rssrsr
Responder Citar

06/04/2016

Mateus Serafim

Opa amigo, obrigado!


Mas consegui, desta forma


RECIBO RECISAO


SELECT DISTINCT

F.CODCOLIGADA,
'1' AS TIPO_COLABORADOR,
F.CHAPA,
F.DTPAGTO,
' 'AS TIPO_EVENTO,
' 'AS CODIFO_TABELA_EVENTO,
F.CODEVENTO,
F.REF,
F.VALOR


FROM PFFINANC F, PFUNC P
--LEFT OUTER JOIN PFUNC P ON F.CODCOLIGADA=P.CODCOLIGADA AND F.CHAPA=P.CHAPA

WHERE F.CODCOLIGADA='1'
--AND F.CHAPA = '01094'
AND P.CODCOLIGADA = F.CODCOLIGADA
AND P.CHAPA = F.CHAPA
AND F.NROPERIODO = 2
ORDER BY F.CHAPA DESC
Responder Citar

06/04/2016

Mateus Serafim

estava fazendo tempestade em copo d'agua.....
Responder Citar