Jump to content
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

Leudassdf

[Resolvido] Selecionar dados de 2 tabelas

Recommended Posts

Leudassdf

Boas pessoal,

select nome_loja,unidades_vendidas

from vendas,lojas

where cod_loja=(select cod_loja from vendas where (select max(unidades_vendidas) from vendas where cod_cd=1)

Eu tentei fazer isto. No entanto isto nao funciona. O que eu quero é retornar o numero de unidades vendidas e o nome da loja onde foram vendidas mais unidades.

Ou seja quero saber o cod_loja que vendeu mais, e depois ir a tabela lojas e saber o nome da loja correspondente ao cod...

Alguem sabe como posso resolver?

Edited by Leudassdf
  • Vote 1

Share this post


Link to post
Share on other sites
apocsantos

Boa tarde,

Penso que ficaria algo como isto:

select * from vendas join lojas where cod_loja = ( select cod_loja,  max (unidades_vendidas) from vendas)

Mas nao testei o código.

Cordiais cumprimentos,

Apocsantos


"A paciência é uma das coisas que se aprendeu na era do 48k" O respeito é como a escrita de código, uma vez perdido, dificilmente se retoma o habito"

Share this post


Link to post
Share on other sites
Leudassdf

Boa tarde,

Penso que ficaria algo como isto:

select * from vendas join lojas where cod_loja = ( select cod_loja,  max (unidades_vendidas) from vendas)

Mas nao testei o código.

Cordiais cumprimentos,

Apocsantos

Infelizmente nao funciona..

Obrigada a mesma

Share this post


Link to post
Share on other sites
Rechousa

Olá,

Tens uma relação entre as duas tabelas, certo?

Experimenta assim:

SELECT TOP 1 nome_loja, SUM(unidades_vendidas) AS soma_unidades_vendidas
FROM vendas V
INNER JOIN lojas L ON V.cod_loja = L.cod_loja
WHERE cod_cd=1
GROUP BY nome_loja
ORDER BY soma_unidades_vendidas DESC;

Espero ter ajudado.


Pedro Martins

Sharing is Knowledge!

http://www.linkedin.com/in/rechousa

Share this post


Link to post
Share on other sites
Leudassdf

Olá,

Tens uma relação entre as duas tabelas, certo?

Experimenta assim:

SELECT TOP 1 nome_loja, SUM(unidades_vendidas) AS soma_unidades_vendidas
FROM vendas V
INNER JOIN lojas L ON V.cod_loja = L.cod_loja
WHERE cod_cd=1
GROUP BY nome_loja
ORDER BY soma_unidades_vendidas DESC;

Espero ter ajudado.

Funcionou :)

Obrigado.

So tenho uma duvida na parte do inner join. compreendo a syntax mas eu tenho algumas duvidas quanto ao que faz. Existe o Join,inner join,left join,right join certo? Mas o que fazem? estive a ver na w3school mas o meu ingles não é muito "famoso". Seria possivel explicar-me o que fazem?

Só mais uma pequena pergunta o v e o l que estão a segui a vendas e lojas é uma espécie de variável?

Cumprimentos e mais uma vez Muito Obrigado

Share this post


Link to post
Share on other sites
apocsantos

Boa tarde,

V e L são aliases para as tabelas Vendas e Loja, para não ter de se escrever o nome da tabela por inteiro.

Inner Join : Apenas devolve as linhas quando existe uma correspondência em ambas as tabelas.

Left Join : Devolve todas as linhas da tabela à esquerda, mesmo que não existam correspondências na tabela à direira da instrução.

Right Join : Devolve todas as linhas da tabela à direita, mesmo que não existam correspondências na tabela à esquerda da instrução.

Join : devolve dados de duas ou mais tabelas cm base nas relações entre as tabelas.

Cordiais cumprimentos,

Apocsantos


"A paciência é uma das coisas que se aprendeu na era do 48k" O respeito é como a escrita de código, uma vez perdido, dificilmente se retoma o habito"

Share this post


Link to post
Share on other sites
Leudassdf

Boa tarde,

V e L são aliases para as tabelas Vendas e Loja, para não ter de se escrever o nome da tabela por inteiro.

Inner Join : Apenas devolve as linhas quando existe uma correspondência em ambas as tabelas.

Left Join : Devolve todas as linhas da tabela à esquerda, mesmo que não existam correspondências na tabela à direira da instrução.

Right Join : Devolve todas as linhas da tabela à direita, mesmo que não existam correspondências na tabela à esquerda da instrução.

Join : devolve dados de duas ou mais tabelas cm base nas relações entre as tabelas.

Cordiais cumprimentos,

Apocsantos

Muito obrigada.

Simples mas eficaz este esclarecimento.

Cumprimentos

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.