0
我試過以下語句的不同變體,結果是它必須做的一半,我不知道什麼是缺失。選擇大於ORACLE
SELECT DISTINCT COUNT(*) AS NO_RESERVATIONS, HG.RESV_ID, HR.BOOKING_CUS_ID AS BOOKED_BY, C.CUS_NAME
FROM HOLIDAY_RESERVATION HR INNER JOIN(HOLIDAY_GROUP HG INNER JOIN CUSTOMER C
ON HG.CUS_ID = C.CUS_ID)
ON HR.BOOKING_CUS_ID = HG.CUS_ID
WHERE HR.RESV_ID >= 2
GROUP BY HG.RESV_ID, HR.BOOKING_CUS_ID, C.CUS_NAME;
息率
NO_RESERVATIONS RESV_ID BOOKED_BY CUS_NAME
--------------- ---------- ---------- --------------------
1 3 5 Beatrice P. Rosa
1 8 15 Phillip B. Fleming
1 7 13 Debra V. Key
1 4 7 Magee A. Pace
2 11 3 Hadassah T. Hebert
1 5 9 Portia D. Melton
2 2 3 Hadassah T. Hebert
1 6 11 Larissa X. Boyer
1 9 17 Wayne F. Burnett
1 10 19 Eleanor J. Padilla
10 rows selected.
它應該只顯示誰取得了兩個或兩個以上的預訂的人,在這種情況下哈達薩T.赫伯特
ANSWER感謝布賴恩尋求幫助
SELECT DISTINCT C.CUS_NAME AS BOOKED_BY, COUNT(*) AS NO_RESERVATIONS
FROM HOLIDAY_RESERVATION HR INNER JOIN(HOLIDAY_GROUP HG INNER JOIN CUSTOMER C
ON HG.CUS_ID = C.CUS_ID)
ON HR.BOOKING_CUS_ID = HG.CUS_ID
GROUP BY HG.RESV_ID, HR.BOOKING_CUS_ID, C.CUS_NAME
HAVING count(*) > 1;
息率
BOOKED_BY NO_RESERVATIONS
-------------------- ---------------
Hadassah T. Hebert 2
非常感謝,我永遠不會忘記這:) – 2012-03-23 22:33:29