如何将下面的代码从Oracle 8i转换为MySQL-
select count(*)
from patient_visit,
organization_master
where patient_visit.organization_id=organization_master.organization_id(+); 在where语句中,"organization_master.organization_id(+)“在MySQL中不起作用。
请提个建议。
发布于 2018-09-02 14:57:48
(+)是Oracle特定的外部联接表示法。我认为你应该写这样的东西
select count(*)
FROM patient_visit
LEFT OUTER JOIN organization_master
ON patient_visit.organization_id=organization_master.organization_id我没有测试它,因为我没有数据来测试它,但它应该可以工作。
希望能有所帮助
发布于 2018-09-02 14:57:18
您需要使用所有现代JOIN数据库(也包括Oracle)支持的标准SQL语法:
select count(*)
from patient_visit
left join organization_master
on patient_visit.organization_id = organization_master.organization_id如果您有其他没有(+)的连接,那么只需将它们替换为inner join:在from子句中完全避免逗号。其他非联接条件仅保留在where子句中。
例如:
select count(*)
from patient_visit
inner join patient_registration
on patient_registration.pprn_regd_id = patient_visit.pprn_regd_id
left join organization_master
on patient_visit.com_organization_id = organization_master.com_organization_id
where patient_visit.ghm_hosp_id = i_hosp_idhttps://stackoverflow.com/questions/52134661
复制相似问题