У меня есть следующие таблицы:
клиент ( cus_id , cus_name)
счет ( acc_num , acc_balance bra_code )
филиал ( bra_code , bra_address)
если я хочу перечислить всех клиентов, у которых есть аккаунты в нескольких филиалах, и их данные.
Я новичок в оракуле, надеюсь, каждый может помочь.
На самом деле это часть моего задания, до сих пор я делал вот так ...
SELECT DISTINCT
C.CUS_ID,
(C.CUS_FIRST_NAME || ' ' || C.CUS_LAST_NAME) AS CUS_NAME,
C.CUS_IC,
C.CUS_ADDRESS,
C.CUS_POSTCODE,
C.CUS_CONTACT,
C.CUS_EMAIL,
C.CUS_AGE,
C.CUS_GENDER,
C.CUS_STATUS,
B.BRA_CODE,
B.BRA_ADDRESS,
B.BRA_POSTCODE,
R.REG_STATE,
R.REG_COUNTRY
FROM CUSTOMER C, ACCOUNT A,BRANCH B, REGION R
WHERE C.CUS_ID=A.CUS_ID AND
A.BRA_CODE=B.BRA_CODE AND
B.REG_ID=R.REG_ID AND
A.BRA_CODE IN (SELECT A.BRA_CODE
FROM CUSTOMER C, ACCOUNT A,BRANCH B
WHERE C.CUS_ID=A.CUS_ID AND A.BRA_CODE=B.BRA_CODE
GROUP BY A.BRA_CODE HAVING COUNT(A.BRA_CODE)>1)
GROUP BY
C.CUS_ID,
C.CUS_FIRST_NAME,
C.CUS_LAST_NAME,
C.CUS_IC,
C.CUS_ADDRESS,
C.CUS_POSTCODE,
C.CUS_CONTACT,
C.CUS_EMAIL,
C.CUS_AGE,
C.CUS_GENDER,
C.CUS_STATUS,
B.BRA_CODE,
B.BRA_ADDRESS,
B.BRA_POSTCODE,
R.REG_STATE,
R.REG_COUNTRY
HAVING COUNT(C.CUS_ID)>1;