我的查询:
DELETE a FROM TR_ContactResultRecord a
INNER JOIN TR_Case b on (a.FireStationCode=b.FireStationCode and a.CaseNo=b.CaseCode )
WHERE b.Update_DateTime <=20140628134416
Run Code Online (Sandbox Code Playgroud)
它显示错误: [Err] 1 - near "a": syntax error
如何删除表内连接与Sqlite中的其他表?
Ole*_*nko 36
尝试使用子查询重写您的查询:如果你的PK TR_ContactResultRecord是CaseNo
DELETE FROM TR_ContactResultRecord
WHERE CaseNo IN (
SELECT CaseNo FROM TR_ContactResultRecord a
INNER JOIN TR_Case b
ON (a.FireStationCode=b.FireStationCode and a.CaseNo=b.CaseCode )
WHERE b.Update_DateTime <=20140628134416
);
Run Code Online (Sandbox Code Playgroud)
Pet*_*cka 11
默认情况下,SQLite 在每个表中都有特殊的 ROWID 列。来自官方文档:
您可以使用特殊列名 ROWID、_ROWID_ 或 OID 之一访问 SQLite 表的 ROWID。除非您声明一个普通表列以使用这些特殊名称之一,否则该名称的使用将引用声明的列而不是内部 ROWID。
代码如下:
DELETE FROM TR_ContactResultRecord
WHERE ROWID IN (
SELECT a.ROWID FROM TR_ContactResultRecord a
INNER JOIN TR_Case b
ON (a.FireStationCode=b.FireStationCode and a.CaseNo=b.CaseCode )
WHERE b.Update_DateTime <=20140628134416
);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12497 次 |
| 最近记录: |