[英]Multiple MySQL Tables in one query
因此,我正在嘗試查詢多個表。
這是我到目前為止所擁有的:
SELECT * FROM patientdetails
WHERE DATEDIFF( CURRENT_DATE, DOB ) /365 <18
and Gender='Male'
AND RAMQ in
(
SELECT `RAMQ`
FROM `pathology`
WHERE `Result`='positive'
)
這很好,但是我需要將日期與另一個表中的日期字段進行比較,我已經嘗試了許多不同的解決方案。
解決方案1:
SELECT * FROM patientdetails
WHERE DATEDIFF( pathology.Date, DOB ) /365 <18
and Gender='Male'
AND RAMQ in
(
SELECT `RAMQ`
FROM `pathology`
WHERE `Result`='positive'
)
解決方案2:
SELECT * FROM patientdetails p, pathology pp
WHERE DATEDIFF( pp.Date, p.DOB ) /365 <18
and p.Gender='Male'
AND p.RAMQ in
(
SELECT `RAMQ`
FROM `pathology`
WHERE `Result`='positive'
)
這些似乎都不起作用,而且相當令人沮喪。 如果有人可以為我提供一些指導,將不勝感激。
以這種方式JOIN
他們:
SELECT d.*
FROM patientdetails AS d
INNER JOIN pathology AS p ON d.RAMQ = p.RAMQ
WHERE DATEDIFF(p.Date, d.DOB ) /365 < 18
AND d.Gender='Male'
我們可以從這里開始...
SELECT *
FROM patientdetails pd
JOIN pathology g
ON g.RAMQ = pd.RAMQ
AND g.Result = 'positive'
WHERE pd.DOB > CURDATE() - INTERVAL 18 YEAR
AND pd.Gender='Male';
...?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.