看板 Database 關於我們 聯絡資訊
※ 引述《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這樣的概念 : 資料可能會有上百萬筆 : 非常謝謝您的指教 : ※ 編輯: greencha 來自: 118.233.149.27 (10/10 18:45) 如果你要找的TEAM只會有2個人的話 select TEAM_ID from TableB group by TEAM_ID having count(*)=2 and Min(PERSON_ID)=1001 and Max(PERSON_ID)=1002 雖然不確定Oracle的語法是不是這樣...但應該差不多 -- 我的P2個板 自然就是美 傾聽‧自然之美 NB_COLSPRING 科技 Σ 冷 泉 港 >生命孕育地,海洋之心 ClubT [風] 有空可以來逛逛^_^ Blog: http://www.wretch.cc/blog/ClubT http://clubtblog.blogspot.tw -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 1.160.49.148
cutekid:推(Y),2 個人的解法 ^_^ 10/11 12:00
tedcat:但是如果不是最小最大號的話就不能用了... 10/11 18:32