各位大神:请问该如何在sql中通过tableA把tableB做成下面变换?

tableA
tableB
通过tableA
把(1)tableB中id只有一项的;(2)在tableA中num<3的,
在tableB中删去(两个条件同时成立)
例如张三,赵六
变化后的结果是:
993 王呜呜(王屋)打错了

  • http://img1.mukewang.com/6253ec9a0001913101330126.jpg


沧海一幻觉
浏览 112回答 2
2回答

qq_笑_17

你是什么数据库,下面给出的是sql server 2005的代码delete&nbsp;from&nbsp;tableBfrom&nbsp;tableB&nbsp;ainner&nbsp;join&nbsp;tableA&nbsp;b&nbsp;on&nbsp;a.keyword=b.keywordwhere&nbsp;a.id&nbsp;in&nbsp;(select&nbsp;id&nbsp;from&nbsp;tableB&nbsp;group&nbsp;by&nbsp;id&nbsp;having&nbsp;count(1)=1)--tableB中id只有一项&nbsp;and&nbsp;b.num<3&nbsp;--在tableA中num<3

呼唤远方

我按照oracle的SQL写法,写了一个,如果你是sqlserver或者mysql可能不适用。select * from tableBMINUSSELECT * 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)
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

SQL Server