gpt4 book ai didi

mysql - #1066 - 不唯一的表/别名 : 'examination'

转载 作者:行者123 更新时间:2023-11-29 23:24:28 24 4
gpt4 key购买 nike

我想在一个 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

最佳答案

您已列出表检查两次,但没有为其指定别名。一次在 FROM 子句中,一次在 LEFT JOIN 中。您可能需要

LEFT JOIN examination

成为

LEFT JOIN testresults

在 FROM 之后删除测试结果和测试名称。 (请参阅此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

关于mysql - #1066 - 不唯一的表/别名 : 'examination' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27069095/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com