Problema com consulta SQL

Pergunta
Olá,

Antes de tudo, obrigado pela ajuda e tempo de vocês e espero que possam me ajudar.
Levo dois dias dando voltas ao assunto para encontrar a melhor solução. Me explico:

Tenho 3 tabelas definidas da seguinte maneira:
bapp_propriedades (id,descrição,img,estado,proprietário)
bapp_tarifas (id, maxdias, mindias, preçopordia, validodesde, validoaté)
bapp_reservas (id, diaentrada, diasaída, totaldias, totalreserva, estado)

onde a tabela bapp_propriedades guarda os apartamentos que existem, a tabela bapp_tarifas guarda as tarifas que cada apartamento tem e cada um destes pode ter várias tarifas de acordo com a temporada alta ou baixa, fins de semana, etc... e estão definidas mediante um período de datas e finalmente a tabela bapp_reservas que guarda um histórico das reservas realizadas para quando um cliente deseje olhar a disponibilidade possamos consultar se é possível ou não.

A questão é que mediante uma consulta sql eu gostaria de calcular e mostrar as tarifas com o preço final levando em conta que:
- na classe de datas que insere o usuário pode haver mais de uma tarifa
- as tarifas estão cotadas por um máximo e mínimo de dias além do período de validade então, embora esteja disponível, deve cumprir esse mínimo ou máximo de dias
- as propriedades podem estar reservadas para essas datas ( deve-se verificar na tabela bapp_reservas)

Estou aberto a outras possíveis propostas para solucionar este problema...assim que qualquer ideia será bem vinda : )

havia pensado em um inner join, mas a verdade é que não vejo nenhuma luz.

Espero a resposta de vocês!

Saudações a todos

Valorize esta FAQ:
A FAQ Problema com consulta SQL tem Pertence à categoria:
Resposta
Olá!

Veja bem, primeiro você deve considerar a relação que existe entre suas identidades (Tabelas), eu vejo o seguinte:

tabela de propriedades(as casas): esta tem uma relação de um a vários, tanto com a tabela tarifas como com a tabela reservas, pois uma propriedade pode ter várias tarifas como também pode ter várias reservas.

O anterior nos diz que devemos ter um campo idPropriedade na tabela propriedade (você já o tem), agora nas tabelas reserva e tarifas se tiver um id, para identificar os registros dessas tabelas, falta adicionar um campo onde você vá salvando o id da propriedade ao qual pertence essa reserva ou tarifa, isso é o que vai permitir relacionar as tabelas, agora quando você quiser ver, por exemplo, uma consulta que mostre as reservas de uma propriedade você deverá fazer o seguinte:

SELECT aqui você coloca os campos que você quer mostrar das tabelas
FROM bapp_reservas
WHERE bapp_reservas.IdPropriedades=id da prop que você quer ver

Por Cephei

Voltar à árvore de categorias Voltar à árvore de categorias

 
FAQs relacionadas
  + Problemas ao instalar apache em Windows XP
  + Aonde salvo um banco de dados para acessá-lo com PHP
  + SQL para contar os registros que têm um campo com valor repetido
  + Inibir a apresentação de erros em PHP
  + Segurança em MySQL
  + Porto MySQL
  + Baixar MySQL
  + Interface visual para o manejo de MySQL
  + Selects aninhados em MySQL
  + Mysql de windows a linux
  + [...]

Ver todas las FAQS de MySQL

Usuários :    login / registro

Home | Sobre nós | Copyright | Anuncie | Entrar em contato