Sqlite 选择一对值在子选择中的位置
我有一个主键包含三个字段的表:Sqlite 选择一对值在子选择中的位置,sqlite,group-by,Sqlite,Group By,我有一个主键包含三个字段的表: IdPro, IdPri, IsComp 实际上,我有一些不正常的情况,例如: IDPro IDPri IsComp 1 1 null 1 1 0 我想删除IsComp=null中的行,但仅当存在对应的行时 我需要知道是否存在以下情况: Delete from mytable where IsComp is null AND Tuple(IDpro, IDPri) in
IdPro, IdPri, IsComp
实际上,我有一些不正常的情况,例如:
IDPro IDPri IsComp
1 1 null
1 1 0
我想删除IsComp=null
中的行,但仅当存在对应的行时
我需要知道是否存在以下情况:
Delete from mytable where IsComp is null
AND Tuple(IDpro, IDPri) in
(SELECT Tuple(IDPro, IDPri)
FROM mytable group by IDPro, IDPri
HAVING Count(*) > 1
)
谢谢。您可以通过连接
IDpro
和IDPri
为表创建一个假唯一键:
DELETE FROM mytable
WHERE IsComp IS null AND
IDpro || ';' || IDPri IN (
SELECT IDpro || ';' || IDPri
FROM mytable
GROUP BY IDpro , IDPri
HAVING COUNT(*) > 1
)
是的,因为字段是数字,所以没有机会有“;”这个词进入选定字段,谢谢!