保留检查的SQL查询
我有两张桌子,设施和预订桌 设施表包含:保留检查的SQL查询,sql,Sql,我有两张桌子,设施和预订桌 设施表包含: 设施 类型 名字 可用性 预订表 身份证 MemberID 设施 登记日期 及时办理登机手续 这是我的查询,它只返回保留的详细信息。如何查询以返回这些未保留的设施详细信息 SELECT Facility.[Facility Name], Facility.[Facility Type] FROM Facility INNER JOIN Reservation on Facility.FacilityID = Reservation.Facili
- 设施
- 类型
- 名字
- 可用性
- 身份证
- MemberID
- 设施
- 登记日期
- 及时办理登机手续
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 & "')
您可以使用左外部联接和IS NULL来仅返回保留表中没有记录的行 以下查询将返回在设施ID、MemberID和签入日期的预订表中不匹配的所有设施。如果您想查看MemberID和签入日期部分是否为任何成员和任何签入日期进行了预订,则可以删除它们
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
它只是为了作业的目的,我尝试了很多方法,但仍然没有得到我想要的结果。那么我们怎么知道它是无保留的呢?这是我无法理解的。请引导我。那么它将返回所有不是由特定成员保留的设施?这是需要的吗>@PM77-1是的,因为那是他要求的。如果成员不是约束,则可以将其删除。希望OP澄清其要求。我还有一个问题,如何筛选保留的成员,并根据类型和可用性仅显示未保留的成员?我试图修改urs,但它仍然给了我所有可用的设施,而没有过滤它们。找到了。小姐,看看where子句。