【发布时间】:2021-02-25 06:30:40
【问题描述】:
我可能在 Oracle 和 MySQL 之间搞砸了,因为我是新手,所以我真的搞不清楚。 我有一张桌子
CREATE TABLE Patient_Dtls(
Patient_ID varchar2(10) PRIMARY KEY,
First_Name varchar2(20) NOT NULL,
Last_Name varchar2(20) NOT NULL,
Contact_Number INT,
Gender char(1),
check(Gender in ('M', 'F'))
);
还有一张桌子
CREATE TABLE Claim_Dtls(
Claim_ID varchar2(10) PRIMARY KEY,
Patient_ID varchar2(10) references Patient_Dtls(Patient_ID) ,
Hospital_ID varchar2(10) references Hospital_Dtls(Hospital_ID),
Amount_Submitted NUMBER(10,2) NOT NULL,
Amount_Approved NUMBER(10,2),
Status varchar2(20)
check(Status in ('Submitted', 'Approved'))
我的问题是: 编写一个选择查询以查看给定患者 ID 的索赔和患者详细信息
我使用的查询是:
Select * from Patient_Dtls,Claim_Dtls
INNER JOIN Claim_Dtls
ON Patient_Dtls.Patiend_ID = Claim_Dtls.Patient_ID
where Patient_ID = 111
对不起,如果这是一个毫无根据的问题。期待帮助
【问题讨论】:
-
'如果在存在连接条件的情况下将逗号连接与其他连接类型混合使用,则可能会出现格式为 Unknown column 'col_name' in 'on Clause' 的错误' - dev.mysql.com/doc/refman/8.0/en/join.html - 你已经调用了两次 claim_dtls
-
永远不要使用
SELECT *。只需命名(并限定)您想要返回的列