tableAtableB通过tableA把(1)tableB中id只有一项的;(2)在tableA中num<3的,在tableB中删去(两个条件同时成立)例如张三,赵六变化后的结果是:993 王呜呜(王屋)打错了
2 回答
qq_笑_17
TA贡献1818条经验 获得超7个赞
你是什么数据库,下面给出的是sql server 2005的代码
delete from tableB from tableB a inner join tableA b on a.keyword=b.keyword where a.id in ( select id from tableB group by id having count (1)=1) --tableB中id只有一项 and b.num<3 --在tableA中num<3 |
呼唤远方
TA贡献1856条经验 获得超11个赞
我按照oracle的SQL写法,写了一个,如果你是sqlserver或者mysql可能不适用。
select * from tableB
MINUS
SELECT * FROM (SELECT ID,MAX(KEYWORD) KEYWORD FROM TABLEB GROUP BY ID HAVING COUNT(*)=1) A WHERE A.KEYWORD IN (SELECT KEYWORD FROM TABLEA WHERE NUM<3)
- 2 回答
- 0 关注
- 111 浏览
添加回答
举报
0/150
提交
取消