Re: [SQL ] 如何找兩筆或以上的資料

看板Database作者 (whatsAcc)時間10年前 (2013/10/12 02:59), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串4/5 (看更多)
※ 引述《greencha (greencha)》之銘言: : 各位大哥大姐好, 小弟有一問題求教 : 假設我在TABLE A, 有以下兩筆資料, 假設叫 PERSON_ID : PERSON_ID PERSON_NAME : 1001 小明 : 1002 小華 : TABLE B中, 有各分組的資料 : TEAM_ID PERSON_ID : 1 1000 : 1 1001 : 2 1001 * : 2 1002 * : 3 1001 : 3 1002 : 3 1003 : 3 1004 : 很明顯的, 我最後想要的結果是 : 只有小明和小華同組的 TEAM_ID是2 : 我想找到這個2, 要如何以比較單純的方法處理 (in Oracle) : 單純的意思也是效能要好, 最好不要有FULL TABLE SCAN這樣的概念 : 資料可能會有上百萬筆 : 非常謝謝您的指教 這是取 TABLE A 名單內所有人之間的交集 select TEAM_ID from B where exists ( -- range scan select 1 from A where PERSON_ID = B.PERSON_ID ) group by TEAM_ID having count(PERSON_ID) = 2 -- 共同組的人數 = 參與交集的總人數 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.36.7.176 ※ 編輯: whatsAcc 來自: 114.36.7.176 (10/12 03:30)
文章代碼(AID): #1IM4fsTp (Database)
討論串 (同標題文章)
文章代碼(AID): #1IM4fsTp (Database)