看板 Database 關於我們 聯絡資訊
最近在寫一個交集的語法,覺得自己寫的不是很好,因此想請教一下是否有更好的寫法 我有一個資料表(table1)如下: id w_id server 1 3 A 2 3 B 3 4 B 4 5 B 5 3 C 6 4 C 7 5 C A server有的w_id值是3,B server有3,4,5,C server有3,4,5 今天我想取得的是ABC三台server都有的w_id值,以上表來說,就是3 我寫了一段sql如下: SELECT DISTINCT w_id FROM `table1` WHERE `w_id` IN ( SELECT w_id FROM `table1` WHERE `server` = 'A' ) AND `w_id` IN ( SELECT w_id FROM `table1` WHERE `server` = 'B' ) AND `w_id` IN ( SELECT w_id FROM `table1` WHERE `server` = 'C' ) 最後執行結果 的確能得到w_id值等於3 但這種寫法一但server增加 (比如又加入D.E) 我的子查詢也要繼續增加 最後整個查詢語句變的非常龐大 不知道有沒有更好的方式 懇請不吝賜教,謝謝~! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 58.115.116.146
odj:補充一下自己是用mysql 10/31 01:52
※ 編輯: odj 來自: 140.138.32.45 (10/31 08:21)