SQL错误:ORA-00936:缺少表达式

SQL错误:ORA-00936:缺少表达式,sql,Sql,Qns:任何名为Jessie Stange的患者的所有治疗的项目描述和治疗日期(ie GivenName为Jessie&Family Name为Stange) 我写的是: SELECT DISTINCT Description, Date as treatmentDate WHERE doothey.Patient P, doothey.Account A, doothey.AccountLine AL, doothey.Item.I AND P.PatientID = A.PatientID

Qns:任何名为Jessie Stange的患者的所有治疗的项目描述和治疗日期(ie GivenName为Jessie&Family Name为Stange)

我写的是:

SELECT DISTINCT Description, Date as treatmentDate
WHERE doothey.Patient P, doothey.Account A, doothey.AccountLine AL, doothey.Item.I
AND P.PatientID = A.PatientID
AND A.AccountNo = AL.AccountNo
AND AL.ItemNo = I.ItemNo
AND (p.FamilyName = 'Stange' AND p.GivenName = 'Jessie');
错误:

Error at Command Line:1 Column:30
Error report:
SQL Error: ORA-00936: missing expression
00936. 00000 -  "missing expression"
*Cause:    
*Action:

缺少的表达式是什么?

您的语句正在调用SELECT和WHERE,但没有指定要从中选择的表或记录集

SELECT DISTINCT Description, Date as treatmentDate
FROM (TABLE_NAME or SUBQUERY)<br> --This is missing from your query.
WHERE doothey.Patient P, doothey.Account A, doothey.AccountLine AL, doothey.Item.I
AND P.PatientID = A.PatientID
AND A.AccountNo = AL.AccountNo
AND AL.ItemNo = I.ItemNo
AND (p.FamilyName = 'Stange' AND p.GivenName = 'Jessie');
选择不同的描述,日期作为治疗日期
FROM(TABLE_NAME或SUBQUERY)
——您的查询中缺少此项。 病人P,病人A,病人A,病人A,病人A,病人I P.PatientID=A.PatientID A.AccountNo=AL.AccountNo 和AL.ItemNo=I.ItemNo 和(p.FamilyName='Stange'和p.GivenName='Jessie');
1. 选择ename作为名称, 2.作为工资, 第三部门, 4 from(表名称或子查询) 5环境管理计划,环境管理计划2,部门 6在哪里 7 emp.deptno=部门deptno和 8 emp2.deptno=emp.deptno 9*按部门名称订购 from(表名称或子查询) * 第4行错误: ORA-00936:缺少表达式“选择ename作为名称, 作为薪水, 部门,部门, from(表名称或子查询) 环境管理计划,环境管理计划2,部门 哪里 emp.deptno=部门deptno和 emp2.deptno=emp.deptno 按部门名称订购`
你犯了两个错误。我想你把关键词从哪里放错了

SELECT DISTINCT Description, Date as treatmentDate
     FROM doothey.Patient P, doothey.Account A, doothey.AccountLine AL,  doothey.Item.I --Here you use "." operator to "I" alias 
  WHERE  -- WHERE should be located here. 
   P.PatientID = A.PatientID
    AND A.AccountNo = AL.AccountNo
    AND AL.ItemNo = I.ItemNo
    AND (p.FamilyName = 'Stange' AND p.GivenName = 'Jessie');

在上面的查询中,当我们尝试合并两个或多个表时,有必要使用联接并指定description和date的别名(即从中获取description和date值的表)


您没有对表使用FROM表达式

SELECT DISTINCT Description, Date as treatmentDate
**FROM <A TABLE>**
WHERE doothey.Patient P, doothey.Account A, doothey.AccountLine AL, doothey.Item.I
AND P.PatientID = A.PatientID
AND A.AccountNo = AL.AccountNo
AND AL.ItemNo = I.ItemNo
AND (p.FamilyName = 'Stange' AND p.GivenName = 'Jessie');
选择不同的描述,日期作为治疗日期
**从**
病人P,病人A,病人A,病人A,病人A,病人I
P.PatientID=A.PatientID
A.AccountNo=AL.AccountNo
和AL.ItemNo=I.ItemNo
和(p.FamilyName='Stange'和p.GivenName='Jessie');

每个SELECT语句都有三个部分:即:“SELECT->FROM->WHERE”。如果要返回整个记录集,可以在何处输入。你是哪里人?
SELECT DISTINCT Description, Date as treatmentDate  
FROM doothey.Patient P  
INNER JOIN doothey.Account A ON P.PatientID = A.PatientID  
INNER JOIN doothey.AccountLine AL ON A.AccountNo = AL.AccountNo  
INNER JOIN doothey.Item I ON AL.ItemNo = I.ItemNo  
WHERE p.FamilyName = 'Stange' AND p.GivenName = 'Jessie';
SELECT DISTINCT Description, Date as treatmentDate
**FROM <A TABLE>**
WHERE doothey.Patient P, doothey.Account A, doothey.AccountLine AL, doothey.Item.I
AND P.PatientID = A.PatientID
AND A.AccountNo = AL.AccountNo
AND AL.ItemNo = I.ItemNo
AND (p.FamilyName = 'Stange' AND p.GivenName = 'Jessie');