with tb1 as(
select (ym || d) as date
from bill
group by (ym || d)
having count(distinct accno) > 1
)
select distinct t1.accno,t2.date
from bill t1
inner join tb1 t2 on (t1.ym || t1.d) = t2.date
order by t1.accno
※ 引述《UCboy (遊戲boy)》之銘言:
: 資料庫名稱:Oracle - PL-SQL
: 內容/問題描述:
: 目前有類似下表的資料 想要結果如下
: accno ym d accno date
: 訂單人編號 年月 日 訂單人編號 日期
: a001 201712 15 a001 20171215
: a001 201712 15 a002 20171215
: a002 201712 15 a003 20171215
: a003 201712 15 a005 20171218
: a001 201712 16 a006 20171218
: a001 201712 16
: a004 201712 17
: a005 201712 18
: a005 201712 18
: a006 201712 18
: 想要的結果是列出一天中有"複數筆不同訂單人下的訂單"的紀錄
: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
: 目前語法想法是
: select disctinct(accno), (ym||d) as date
: from bill
: group by date
: order by accno
: having count(accno)>1;
: 但似乎合併出來的date無法直接做使用 嗎?
: 還是有其他錯誤的地方呢?
: 只讀過理論的完全資料庫新手...QQ
: 再煩請高手們指點了 謝謝