2013-03-10 4 views
0

J'ai 2 tables, installations et tables de réservation.Requête SQL sur la vérification de réservation

table Facility contient,

  • FacilityID
  • Type de
  • Nom
  • Disponibilité

table de réservation,

  • ID
  • MemberID
  • FacilityID
  • Date d'arrivée
  • Arrivées à

Voici ma requête qui ne renvoie que les détails réservés. Comment puis-je faire la requête pour retourner ces détails de l'installation sans réserve?

SELECT Facility.[Facility Name], Facility.[Facility Type] 
FROM Facility INNER JOIN Reservation on Facility.FacilityID = Reservation.FacilityID 
WHERE Reservation.FacilityID = (
    SELECT FacilityID 
    FROM Reservation 
    WHERE MemberID = '" & txtMemberID.Text & "' 
    AND [Check-in date] ='" & lstDate.SelectedItem.ToString & "') 
+0

juste pour but d'affectation que j'ai essayé plusieurs façons et méthode, mais encore Je ne peux pas obtenir le résultat que je voulais. – zombieblood

+0

alors comment savons-nous qu'il n'est pas réservé? –

+0

C'est la chose que je ne peux pas comprendre. Guidez-moi s'il-vous-plaît. – zombieblood

Répondre

0

Vous pouvez utiliser une LEFT OUTER JOIN et une valeur IS NULL pour renvoyer uniquement des lignes sans enregistrement dans la table Reservation.

La requête suivante renvoie toutes les installations qui n'ont pas de correspondance dans la table Réservation à la date FacilityID, MemberID et Check-In. Vous pouvez supprimer le MemberID et l'enregistrement des portions de date si vous voulez voir s'ils ont une réservation pour un membre et une date d'enregistrement

SELECT Facility.[Facility Name], Facility.[Facility Type] 
FROM Facility 
    LEFT OUTER JOIN Reservation on Facility.FacilityID = Reservation.FacilityID 
    AND MemberID = '" & txtMemberID.Text & "' // pull in based on certain member 
    AND [Check-in date] ='" & lstDate.SelectedItem.ToString & "') // pull in based on certain date 
WHERE Reservation.ID IS NULL 
+0

Ainsi, toutes les Installations ** non ** réservées par un membre particulier seront-elles retournées? Est-ce ce qui est nécessaire? –

+0

@ PM77-1 oui, puisque c'est ce qu'il a demandé. Si le membre n'est pas une contrainte, il peut être supprimé. –

+0

Espérons que OP clarifie ses exigences. –

Questions connexes