2012-05-18 50 views

回答

0

這應該做的伎倆

SELECT u.id as user_id, u.username 
FROM USER U, 
(
     SELECT COUNT(EVENT_ID) AS EVENT_COUNT 
     FROM EVENT 
     ) AS E 
    INNER JOIN (
     SELECT UDSER_ID, COUNT(EVENT_ID) AS EVENT_COUNT 
     FROM USEREVENT 
     GROUP BY USER_ID 
     ) AS UE ON U.USER_ID = UE.USER_ID 
WHERE E.EVENT_COUNT = UE.EVENT_COUNT 
+0

選擇所有用戶參與的所有事件 選擇u.id,u.username FROM AUTH_USER U, (SELECT COUNT(ID)AS EVENT_COUNT FROM SecureVirtualElection_event)爲E INNER JOIN( SELECT u_id_id,COUNT(e_id_id)AS EVENT_COUNT FROM SecureVirtualElection_userrequestpool GROUP BY u_id_id )AS UE WHERE E.EVENT_COUNT = UE.EVENT_COUNT AND u.id = UE.u_id_id; – user1003121

2

下面是做這件事的所有用戶的用戶名:選擇與該用戶關聯的不同事件ID的數量以及該事件ID的總數。

select * 
from User u 
where (
    select count(*) from (
     select distinct ue.EventId 
     from UserEvent ue 
     where ue.UserId=u.UserId 
    ) 
) = (select count(*) from Event) 
0

一個想法:

1)計數的事件具有不同的事件id

2)對於用戶數,計數其不同的事件和如果該號碼是相同的,把它在表。