我有2个表SQL:
refFirtUser是构成用户ID的列-和一个随机数 示例:refFirtUser(uid_users-12345687)-> 9145-12345687
我要删除“电话”表中的所有数据。
我必须通过邮件获取用户的“ uid”并在“-”之前搜索N个首字符。
“ refFirtUser”列中以“ uid-xxxxx”开头的所有数据 (其中uid是用户的ID)。 我唯一的数据是电子邮件
我该怎么办?
答案 0 :(得分:0)
根据您的解释,user.uid
是-
之前还是之后的数字是不明确的。无论哪种情况,您都可以使用exists
delete from phone p
where exists ( select 1 from user u where mail in ( 'listofmail')
and p.refFirtUser like '%-'||u.id );
OR
delete from phone p
where exists ( select 1 from user u where mail in ( 'listofmail')
and p.refFirtUser like u.id||'-%' );
答案 1 :(得分:0)
如果您要通过邮件phone
从'someone@gmail.com'
中删除用户:
delete from phone
where
refFirtUser like (select uid from user where mail = 'someone@gmail.com') || '-%'