【发布时间】:2019-11-11 07:32:32
【问题描述】:
我正在尝试在 mysql 中检索匹配和不匹配的记录。
center_wise_test_rates:
lab_id category_name test_id test_name rate
------ ------------- -------- --------- ------
2 Cardiology 9 Blood Sug 1200
2 Cardiology 10 Total Cholesterol 1500
2 Cardiology 11 HDL 1100
2 Cardiology 12 LDL 750
test_list
test_id category_name test_name
------- ------------- ---------
9 Cardiology Blood Sug
10 Cardiology Total Cholesterol
11 Cardiology HDL
12 Cardiology LDL
57 Cardiology abc
从基于 category_name 和 lab_id 的 center_wise_test_rates 和 test_list 表中,匹配的记录将得到但不匹配的记录,即 test name 'abc' 没有得到。
我的查询:
SELECT cwtr.lab_id
,cwtr.category_name
,cwtr.test_id
,cwtr.test_name
,cwtr.rate
FROM `center_wise_test_rates` AS cwtr
LEFT OUTER JOIN test_list AS tl ON tl.category_name = (SELECT DISTINCT category_name
FROM center_wise_test_rates
WHERE category_name='Cardiology')
AND tl.test_id = cwtr.test_id
WHERE cwtr.lab_id = '2'
AND cwtr.category_name = 'Cardiology'
输出:
lab_id category_name test_id test_name rate
------ ------------ -------- --------- ----
2 Cardiology 9 Blood Sug 1200
2 Cardiology 10 Total Cholesterol 1500
2 Cardiology 11 HDL 1100
2 Cardiology 12 LDL 750
预期输出:
lab_id category_name test_id test_name rate
------ ------------- -------- --------- ----
2 Cardiology 9 Blood Sug 1200
2 Cardiology 10 Total Cholesterol 1500
2 Cardiology 11 HDL 1100
2 Cardiology 12 LDL 750
2 Cardiology 57 abc Null
提前致谢。
【问题讨论】:
-
如果你也分享你的尝试会更好。
-
我觉得这张照片是他/她的老师拍的
标签: mysql