2009-11-27 60 views
0

屬於一個以上的所有者我在Oracle中的情況下,我有兩個表 - 表A和B表如何檢索員工使用Oracle SQL

表A具有以下的列(援助,owner_id,APP_ID)和

表B具有以下的列(投標,援助,EMP_NO)

表B有一個外鍵(援助)回TABL ÈA.

基於上述表中,我試圖寫在那裏於表B中的EMP_NO屬於多於一個owner_id於表A的查詢

經驗法則是,一個EMP_NO只能屬於只有一個owner_id。

目前我有一個數據問題,其中一個emp_no屬於多個owner_id。

例如:

我有哪裏EMP_NO屬於2個或更多owner_ids的情況 - 這是這些記錄,我需要找回回去,但不知道該如何。

信息我想找回的是:

EMP_NO和owner_id

與查詢任何幫助將使用Oracle SQL可以理解的。

謝謝。

回答

2

適應astander的答案,同時獲得emp_noowner_id

SELECT emp_no, owner_id 
FROM (
SELECT emp_no 
     ,owner_id 
     ,COUNT(DISTINCT owner_id) OVER (PARTITION BY emp_no) c 
FROM TableB b INNER JOIN 
     TableA a ON b.aid = a.aid 
) 
WHERE c > 1; 
3

你可以嘗試這樣的事情

SELECT emp_no, 
     COUNT(DISTINCT owner_ID) 
FROM TableB b INNER JOIN 
     TableA a ON b.aid = a.aid 
GROUP BY emp_no 
HAVING COUNT(DISTINCT owner_ID) > 1 
+0

我猜,他想OWNER_ID。 – Guru 2009-11-27 05:26:12