看板 Database 關於我們 聯絡資訊
※ 引述《matchyou (這樣也要罵=.=)》之銘言: : 以下sql只在sql server 測試過可行 : interbase不確定可不可行 : select * from A : where (convert(varchar,客戶姓名) + '--' + convert(varchar,消費序號)) in : ( : SELECT (convert(varchar,客戶姓名) + '--' + convert(varchar,消費序號)) : FROM A : group by 客戶姓名,消費序號 having count((convert(varchar,客戶姓名) + '--' + : convert(varchar,消費序號)))>1 : ) 沒看完整串就先推文,我的想法也是類似這樣; select A.* from A join ( SELECT convert(varchar,客戶姓名) name, convert(varchar,消費序號) sno FROM A group by 客戶姓名,消費序號 having count(1)>1 )x on x.name=客戶姓名 and x.sno=消費序號 這個寫法結果應該是一樣的,但資料量大的時候可以透過建立索引有好一點的效率.. 當然,這只是理論上,僅供參考,效率是實際做才會知道的事 : ※ 引述《woohyuk49 (Forever H.O.T)》之銘言: : : 好比說 : : 表A : : 客戶姓名 消費序號 日期 : : 小王 1 970101 : : 小李 5 970505 : : 小黃 2 970805 : : 小王 2 970208 : : 小陳 1 970509 : : 小王 2 970315 : : 說明:一個客戶的消費序號都是從1開始 : : 像小王 消費序號是 1>2>2 照理來說應該是3 : : 如果說我現在想把此種狀況的查詢出來 我該如何下語法呢 : : 下語法後出現的資料要像是 : : 客戶姓名 消費序號 日期 : : 小王 2 970208 : : 小王 2 970315 : : 謝謝版友^^ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.229.203.139
woohyuk49:可以了^^ 謝謝您 09/11 09:33