【发布时间】:2019-10-11 12:36:36
【问题描述】:
编写查询以显示人员 ID、费用代码、专科 ID、专科名称、咨询日期、患者编号和到期日将使用咨询日期 + 21 计算
SELECT
staffid,
chrgcode,
dateconsulted,
patientno,
(dateconsulted + 21) "Due Date"
FROM
staff_speciality,
staff,
speciality,
consultation;
SELECT staffid, chrgcode, dateconsulted, patientno, (dateconsulted + 21) "Due >Date"
*
第 1 行出现错误:
ORA-00918: 列定义不明确
连接到:
Oracle Database 12c 标准版版本 12.1.0.2.0 - 64 位生产
SQL> 描述专业
名称空?输入
SPECID NOT NULL CHAR(4)
规格名称 VARCHAR2(25)
SPECNOTES VARCHAR2(100)
SQL> 描述 Staffid
错误:
ORA-04043: 对象 Staffid 不存在
SQL> 描述人员
名称空?输入
STAFFID NOT NULL CHAR(2)
名字 VARCHAR2(20)
姓氏 VARCHAR2(20)
角色 VARCHAR2(15)
性别字符(1)
加入日期
日期 SQL> 描述人员专业 错误:
ORA-04043: 对象 staffspeciality 不存在
SQL> 描述人员_专业
名称空?输入
STAFFID NOT NULL CHAR(2)
SPECID NOT NULL CHAR(4)
DATEQUALIFIED NOT NULL DATE
有效日期
详情 VARCHAR2(100)
SQL>描述咨询 名称空?输入
CHRGCODE NOT NULL CHAR(7) STAFFID NOT NULL CHAR(2) DATECONSULTED NOT NULL DATE 开始时间编号 (4,2)
患者编号 CHAR(7)
SQL> SELECT staffid, chrgcode, dateconsulted, patientno, (dateconsulted + 21) "到期日"
2 FROM staff_speciality,员工,专业,咨询;
SELECT staffid, chrgcode, dateconsulted, patientno, (dateconsulted + 21) "到期日"
*
第 1 行出现错误:
ORA-00918: 列定义不明确
【问题讨论】:
-
提示:
JOIN。ON。 从不在FROM子句中使用逗号。 -
我用什么?你能举个例子吗
-
并使用相关表的别名对列进行别名,例如
SELECT s.staffid .... from staff_speciality ss join staff s on s.staffid = ss.staff_id .... -
你能举个例子吗,我不知道该怎么做。或者你能链接一个可以帮助我的网站吗?
-
@BarbarosÖzhan 我一点也不明白...... :( 你为什么要在 Staffid 中添加 s.?什么是 ss?你为什么要让 s.staffid = ss.staff_id?