Jump to content

Recommended Posts

Posted (edited)

Boas pessoal

Eu tenho 2 tabelas

Tabela Aluguer tem CodQuarto - Tem codigo de todos os quartos alugados

Tabela Quarto CodQuarto RendaMensal - Tem codigo de todos, todos os quartos e a sua renda

Preciso de fazer uma consulta que devolva o quarto mais barato e dísponível.

Ou seja teoricamente tenho de ir á tabela Quarto "buscar" todos os quartos que não estejam na tabela Aluguer e desses quartos apresentar o que tem a renda mensal mais baixa.

SELECT dbo.Quarto.CodigoQuarto, MIN(dbo.Quarto.RendaMensal) AS Renda
FROM  dbo.Quarto INNER JOIN
		dbo.Aluguer ON dbo.Quarto.CodigoQuarto = dbo.Aluguer.CodigoQuarto
WHERE(dbo.Quarto.CodigoQuarto IN (SELECT CodigoQuarto FROM  dbo.Aluguer AS Aluguer_1))
GROUP BY dbo.Quarto.CodigoQuarto

Para já tenho este código mas tá a dar os quartos que estão alugados por ordem de renda mensal inferior para a superior ...

Como deverei proceder , dêem me uma ajudinha 🙂

Cumps

Edited by cryteck
Posted

Eu nao percebo muito de SQL Server, mas estas a seleccionar as linhas que fazem parte de outra tabela. Acho que tens de usar o NOT IN. Eu tambem simplificava o teu query.

select top 1 CodigoQuarto, RendaMensal
from Quarto
where CodigoQuarto not in (select CodigoQuarto from Aluguer)
order by RendaMensal
  • Vote 1

What have you tried?

Não respondo a dúvidas por PM

A minha bola de cristal está para compor; deve ficar pronta para a semana.

Torna os teus tópicos mais atractivos e legíveis usando a tag CODE para colorir o código!

Posted (edited)

Obrigado desde já vou testar e depois digo alguma coisa.

Funciona mas para que serve o top 1?

Será que vai buscar o primeiro porque o order por defeito ta ascendente?

Pmg se tu não percebes e fizeste isso sem testar ...

Muito obrigado a todos

Cumps

Edited by cryteck
Posted

para que serve o top 1?

De acordo com a documentacao serve para

Limits the rows returned in a query result set to a specified number of rows or percentage of rows in SQL Server 2012.
  • Vote 1

What have you tried?

Não respondo a dúvidas por PM

A minha bola de cristal está para compor; deve ficar pronta para a semana.

Torna os teus tópicos mais atractivos e legíveis usando a tag CODE para colorir o código!

Posted

A resolução indicada está errada! Digo isto porque se houver mais que um quarto com o mesmo preço, essa view apenas vai retornar um desses quartos . . . Já para nao falar de datas de entradas e datas de saída, o quarto pode ter sido alugado, mas pode, por sua vez, já se encontrar disponível !

Posted

A resolução indicada está errada!

Podes dar uma solucao diferente que funcione com a tua interpretacao do problema?

A gente gosta sempre de ver diversas maneiras (correctas, de preferencia) de resolver problemas.

What have you tried?

Não respondo a dúvidas por PM

A minha bola de cristal está para compor; deve ficar pronta para a semana.

Torna os teus tópicos mais atractivos e legíveis usando a tag CODE para colorir o código!

Posted

Poderia, contudo a pessoa em questão está a desenvolver o mesmo trabalho prático que eu, desta forma, por precaução acho melhor não colocar.

Contudo, acho que dei umas dicas que considero importantes na resolução da vista!

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
×
×
  • Create New...

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.