积极答复者
求 sql语句

问题
答案
-
你可以使用merge 函数进行查询,具体参见SQL联机丛书,不过此函数只在SQL SERVER2008中才有。
- 已标记为答案 Nai-dong Jin - MSFTModerator 2010年11月1日 8:13
全部回复
-
你好
或者你可以嘗試以下的方法
SELECT A.ID, A.NoOfRecord, B.ID AS B_ID, B.NoOfRecord AS B_NoOfRecordsFROM (SELECT ID, COUNT(*) AS NoOfRecord FROM TableA GROUP BY ID) AINNER JOIN (SELECT ID, COUNT(*) AS NoOfRecord FROM TableB GROUP BY ID) BON A.ID = b.ID AND A.NoOfRecord = B.NoOfRecord
Please correct me if my concept is wrong
Chi -
with tempA as ( select id,count(*) as number from a group by id ), tempB as ( select id,count(*) as number from b group by id ), tempC as ( select tempA.ID from tempA where exists(select 1 from tempB where tempA.id=tempB.id and tempA.number=tempb.number) ) select * from a where ID in (select ID from tempC)
有dba的职位吗(北京的),请联系我 stswordman#hotmail.com -
重复次数以B表为准是什么意思?
参考:
SELECT * FROM 表A A WHERE bID IN( SELECT bID FROM 表B B WHERE B.bID = A.bID -- 表A中bID的字段值 在 表B 中bID字段值 相同 GROUP BY bID HAVING COUNT(*) -- 表B 对应的 bID 的记录数 = -- 相等, 还是其他什么的, 你自己决定, 这里面用 = ( -- 表A 对应的 bID 的记录数 SELECT COUNT(*) FROM 表A AA WHERE AA.bID = A.bID ) )
-
你好
查出 表A中bID的字段值 在 表B 中bID字段值 相同 的记录,同时 重复次数 以表B为准
或者你可以嘗試以下的方法
SELECT B.ID AS B_ID, B.NoOfRecord AS B_NoOfRecordsFROM (SELECT ID, COUNT(*) AS NoOfRecord FROM TableA GROUP BY ID) AINNER JOIN (SELECT ID, COUNT(*) AS NoOfRecord FROM TableB GROUP BY ID) BON A.ID = b.ID
或SELECT b.BID, COUNT(*) AS NoOfRecordsFROM TableB bWHERE b.BID IN(SELECT DISTINCT a.BIDFROM TableA a)不知道能不能解決這個問題可不可以給我們一個 SAMPLE RESULT 看看這會更容易明的Please correct me if my concept is wrong
Please correct me if my concept is wrong
Chi -
-
你可以使用merge 函数进行查询,具体参见SQL联机丛书,不过此函数只在SQL SERVER2008中才有。
- 已标记为答案 Nai-dong Jin - MSFTModerator 2010年11月1日 8:13