看板 Database 關於我們 聯絡資訊
※ 引述《dauntless (火車呼嚕呼嚕)》之銘言: : 資料表如下: : 序號 公司 承辦人 產品 : 1 甲 a n1 : 2 乙 b n2 : 3 丙 c n3 : 4 乙 d n2 : 5 戊 e n1 : 6 已 u n2 : 若要查詢所有不同公司,但卻使用相同產品 : 的紀錄:如下。 : 1 甲 a n1 : 5 戊 e n1 : 2 乙 b n2 : 6 已 : d n2 : 要如何做呢? (test為資料表名稱) select b.序號, b.公司, b.承辦人, b.產品 from (select 產品 from test group by 產品 having count(*) > 1) as a inner join (select t2.序號, t2.公司, t2.承辦人, t2.產品, (select count(*) from test as t1 where t1.公司 = t2.公司 and t1.序號 <= t2.序號) as idx from test as t2) as b on (a.產品 = b.產品 and b.idx = 1) order by b.產品 說明: 1. 先找出重複出現的產品(子查詢 a) 2. 再替公司重新編號(idx),相同公司,序號較小者為1,依此類推(子查詢b) 3. 兩者做inner join,條件為產品及idx為1(因為重複出現的公司,只要取序號較小 那筆紀錄的資訊) 4. 希望可以解決您的問題 ^^; -- Xuite 板看 icydream 者作 格落部的我 [報情] 題標 2008 00:00:00 1 Jun Tue 間時 ─────────────────────────────────────── My Blog -> http://blog.xuite.net/icydream/feeling -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.25.35.228 ※ 編輯: icydream 來自: 114.25.35.228 (10/06 10:33)
dauntless:雖然我這新手目前看不懂,不過我會再研究看看 10/06 17:01
dauntless:先謝謝大大的熱心解答 10/06 17:03