Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/google-sheets/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 从两个链接表中删除数据_Sql_Sql Delete - Fatal编程技术网

Sql 从两个链接表中删除数据

Sql 从两个链接表中删除数据,sql,sql-delete,Sql,Sql Delete,我有两张桌子叫“病人”和“帐户”。 病人把病人当作主键。Account的AccountID为PK,PatientID为外键,treatmentDate为元组 我想删除自2005年以来没有账户的所有患者。 这就是我得到的: DELETE FROM PATIENT WHERE PATIENTID IN ( select account.PatientID from ACCOUNT where Treatmentdate < '01-JAN-2005' ); DELETE FROM

我有两张桌子叫“病人”和“帐户”。 病人把病人当作主键。Account的AccountID为PK,PatientID为外键,treatmentDate为元组

我想删除自2005年以来没有账户的所有患者。 这就是我得到的:

DELETE FROM PATIENT
WHERE PATIENTID IN (
  select account.PatientID
  from ACCOUNT
  where Treatmentdate < '01-JAN-2005' );
DELETE FROM ACCOUNT
WHERE PATIENTID IN (
  select account.PatientID
  from ACCOUNT
  where Treatmentdate < '01-JAN-2005' );
还有其他方法可以做到这一点吗?

我宁愿使用

ON DELETE CASCADE
帐户表外键TID中的选项

在这种情况下,您不需要第二个查询

请参阅参考网上有大量信息:

找到了这个