我有一个完美的查询:
SELECT *
FROM Customer
WHERE SacCode IN
(
SELECT SacCode
FROM SacCode
WHERE ResellerCorporateID = 392
ORDER BY SacCode
)
AND CustomerID IN
(
SELECT CxID
FROM CustAppointments
WHERE AppRoomID IN
(
SELECT AppRoomID
FROM ClinicRooms
WHERE ClinID IN
(
SELECT ClinID
FROM AppClinics
WHERE ClinDate >='20090101'
AND ClinDate <='20091119'
)
)
)
但是,我需要查看 ClinDate 的值(在最后一个嵌套查询中),所以我被告知需要使用 JOINS 重新处理查询。
我不知道怎么办,有人可以帮忙吗?
谢谢。
最佳答案
这是一个开始:
SELECT *
FROM Customer c
INNER JOIN CustAppointments ca ON ca.CxId = c.CustomerID
INNER JOIN ClinicRooms cr ON cr.AppRoomID = ca.AppRoomID
INNER JOIN AppClinics ac ON ac.ClinID = cr.ClinID
WHERE ap.ClinDate BETWEEN '20090101' AND '20091119'
AND SacCode IN (SELECT sc.SacCode
FROM SacCode sc
WHERE sc.ResellerCorporateID = 392)
这将允许您从 AppClinics 中选择列。
关于sql - 在 MySQL 中使用 JOINS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1763013/