首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我如何纠正我的错误?

我如何纠正我的错误?
EN

Database Administration用户
提问于 2018-11-11 23:33:01
回答 2查看 68关注 0票数 -2
代码语言:javascript
复制
SELECT 
      hospital_general_information.provider_id,
      hosptial_name hospital_associated_infection,
      provider_id,     
      readmission_complications_deaths.provider_id
FROM
      hosptial_general_information
JOIN  hospital_associated_infection 
      ON hospital_general_information.provider_id = hosptial_associated_infection.provider_id
JOIN  hospital_associated_infection 
      ON hospital_associated_infection.provider_id = readmission_complications_deaths.provider_id
EN

回答 2

Database Administration用户

发布于 2018-11-12 03:33:57

首先..。您需要使您的查询Readable..Readable是帮助您找到像TypoMissing这样的Error的特性。

代码语言:javascript
复制
select 
   hospital_general_information.provider_id, 
   hosptial_name hospital_associated_infection,
   provider_id, 
   readmission_complications_deaths.provider_id 
from 
   hosptial_general_information 
   join hospital_associated_infection 
     on hospital_general_information.provider_id=hosptial_associated_infection.provider_id 
   join hospital_associated_infection 
     on hospital_associated_infection.provider_id=readmission_complications_deaths.provider_id

这是你的第一个查询。我发现了一些错误

代码语言:javascript
复制
hosptial_name hospital_associated_infection

您在那里有空间,Typo什么时候应该是hospital,成为hosptial,调用该列是错误的。语法是table.column

代码语言:javascript
复制
provider_id,

您调用provider_id,我看到您的join使用这个column,所以它也会产生错误,Ambiguous Error,因为provider_id超过1,您应该确定谁应该是provider_id

代码语言:javascript
复制
hospital_associated_infection.provider_id=readmission_complications_deaths.provider_id

这是你的第二个加入条件..。你只分配了两个表hospital_associated_infectionhospital_general_information,那么readmission_complications_deaths是谁?你必须分配这个表。

你有那么多TypoHospital..。

所以如果这是你的查询应该是..。

代码语言:javascript
复制
select 
   hospital_general_information.provider_id, 
   hospital_associated_infection.hospital_name,
   hospital_associated_infection.provider_id, 
   readmission_complications_deaths.provider_id 
from 
   hospital_general_information 
   join hospital_associated_infection 
     on hospital_general_information.provider_id=hospital_associated_infection.provider_id 
   join readmission_complications_deaths
     on hospital_associated_infection.provider_id=readmission_complications_deaths.provider_id

我建议你用aliasing做你的桌子。因为你的表名太长了。我推荐使用字母(如hgi )表示hospital_general_information

票数 2
EN

Database Administration用户

发布于 2018-11-12 03:44:23

1066个“名字太冗长”吗?

抱歉的。认真地说,当两次连接到同一个表时,请给每个副本一个别名:

代码语言:javascript
复制
select  gi.provider_id,
        hosptial_name AS hospital_associated_infection,
        provider_id,
        rcd.provider_id
    from  hosptial_general_information AS gi
    join  readmission_complications_deaths AS rcd
       ON ???
    join  hospital_associated_infection AS ai_1
       ON ai_1.provider_id = gi.provider_id
    join  hospital_associated_infection AS ai_2 
       ON ai_2.provider_id = rcd.provider_id 

或者是错误?需要readmission_complications_deaths而不是第二次引用hospital_associated_infection

哦,有没有缺个逗号?

票数 1
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/222300

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档