用于从视图检索数据的java查询不起作用
我创建了一个视图,作为三个表的集成,但当我使用查询检索视图中的数据时。。。系统停止工作
我使用以下查询创建视图:
PreparedStatement statement1 = (com.mysql.jdbc.PreparedStatement) con1.prepareStatement("
CREATE VIEW mcps1_patients_view AS
SELECT a.PatientID
, PatientGender
, PatientDateOfBirth
, PatientMaritalStatus
, a.Ad_ID
, Ad_StartDateAndTime
, Ad_EndDateAndTime
, d.ICD10CM_Code
, d.PrimaryDiagnosisDescription
From patientcorepopulatedtable p
JOIN admissionscorepopulatedtable a
JOIN admissionsdiagnosescorepopulatedtable d
");
result1 = statement1.execute();
System.out.print("connected");
我想对创建的视图进行查询
PreparedStatement statement4 = (com.mysql.jdbc.PreparedStatement) con2.prepareStatement(" SELECT * From mcps2_patients_view where P_ID= ? ");
statement4.setString(1, Hospital2_id);
result4 = statement4.executeQuery();
System.out.print("connected \n")
但最后一个查询不起作用,它已停止工作
有什么问题吗??? 我该怎么解决呢
# 1 楼答案
我认为您混淆了一些事情,您在创建视图时传递的查询sintax应该是原生SQL。来自javadoc
你粘贴的内容似乎是JPQL。SQL Join语句还需要
ON
部分来指定正在进行连接的列。比如:SELECT... FROM patient p join patient_admission pa on pa.patient_id = p.id
那是打字错误吗?我希望您创建视图的代码出现异常