我想在一个SQL语句中获得考试日期,测试和测试名称的值。我能分两个阶段完成,但不能一个阶段。当我尝试将它组合起来时,我会在标题上看到错误。
这是产生错误的SQL语句:
select date, value, tname from examination, testresults, testname
LEFT JOIN examtype ON examtype.etype_id = examination.etype_id
LEFT JOIN examination ON examination.examination_id = testresults.examination_id
LEFT JOIN testname ON testname.tname_id = testresults.tname_id
where examination.patientnhs_no= '1001001002'
and date > '2008/09/05'
and examtype.name like 'blood%'
and testname.name like'tsh%'
order by date asc
limit 1
答案 0 :(得分:0)
您已经列出了两次表格检查,但是您没有给它别名。 一旦进入FROM子句,一次进入LEFT JOIN。 你可能想要
LEFT JOIN examination
是
LEFT JOIN testresults
在FROM之后删除了testresults和testname。 (见link)。
以下内容应该有效(我没有测试过)。
select date, value, tname from examination
LEFT JOIN examtype ON examtype.etype_id = examination.etype_id
LEFT JOIN testresults ON examination.examination_id = testresults.examination_id
LEFT JOIN testname ON testname.tname_id = testresults.tname_id
where examination.patientnhs_no= '1001001002' and date > '2008/09/05' and examtype.name like 'blood%' and testname.name like'tsh%' order by date asc limit 1