Ir para o conteúdo
  • 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

Mensagens Recomendadas

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?

Editado por Leudassdf
  • Voto 1

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros 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"

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros 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

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros 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

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros 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

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros 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"

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros 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

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.