tableAtableB通过tableA把(1)tableB中id只有一项的;(2)在tableA中num<3的,在tableB中删去(两个条件同时成立)例如张三,赵六变化后的结果是:993 王呜呜(王屋)打错了
                    
                    
                2 回答
 
                    
                    
                            qq_笑_17
                            
                                
                            
                        
                        
                                                
                    TA贡献1818条经验 获得超7个赞
你是什么数据库,下面给出的是sql server 2005的代码
| deletefromtableBfromtableB ainnerjointableA b ona.keyword=b.keywordwherea.id in(selectid fromtableB groupbyid havingcount(1)=1)--tableB中id只有一项 andb.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 关注
- 137 浏览
添加回答
举报
0/150
	提交
		取消
	