【发布时间】:2010-06-30 23:16:22
【问题描述】:
所以我是一个菜鸟,初学者,初学者 - 把上面所有的东西都扔给我。我正在尝试创建一个查询,该查询将搜索数据库并返回等等等等。问题是,它不是很有效。这是一个示例查询 - 正如您所看到的,在其他事情之上,我试图返回姓氏为 Johnson 的人的结果
SELECT BookingInfo.ClinicID, BookingInfo.BookingDate, BookingInfo.BookingTime,
BookingInfo.Status, PatientBooking.FirstName, PatientBooking.LastName,
PatientBooking.DateOfBirth
FROM BookingInfo LEFT JOIN PatientBooking
ON BookingInfo.PatientID = PatientBooking.PatientID
WHERE PatientBooking.LastName = 'Johnson' AND BookingInfo.ClinicID = '1'
OR BookingInfo.ClinicID = '2'
ORDER BY BookingInfo.BookingDate DESC
这将返回 Johnson 的结果,但也返回其他结果。另一个:
SELECT BookingInfo.ClinicID, BookingInfo.BookingDate, BookingInfo.BookingTime,
BookingInfo.Status, PatientBooking.FirstName, PatientBooking.LastName,
PatientBooking.DateOfBirth
FROM BookingInfo LEFT JOIN PatientBooking
ON BookingInfo.PatientID = PatientBooking.PatientID
WHERE BookingInfo.BookingDate = '05-18-2010' AND BookingInfo.ClinicID = '1'
OR BookingInfo.ClinicID = '2'
ORDER BY BookingInfo.BookingDate DESC
这会返回我指定日期的结果,但也返回其他日期。我的语法有问题吗?我不知道我在做什么吗?请帮助初学者。谢谢!
【问题讨论】:
-
AND 和 OR 变得混乱。将两个 OR 条件放在一组括号中并尝试。
标签: mysql