0
我試圖構建一個只顯示非唯一副本的查詢。我已經建立了一個查詢,顯示所有記錄來考慮:Oracle:通過...獲得非唯一的重複副本...有計數
SELECT tbl_tm.title, lp_index.starttime, musicsound.archnr
FROM tbl_tm
INNER JOIN musicsound on tbl_tm.fk_tbl_tm_musicsound = musicsound.pk_musicsound
INNER JOIN lp_index ON musicsound.pk_musicsound = lp_index.fk_index_musicsound
INNER JOIN plan ON lp_index.fk_index_plan = plan.pk_plan
WHERE tbl_tm.FK_tbl_tm_title_type_music = '22' AND plan.airdate
BETWEEN to_date ('15-01-13') AND to_date('17-01-13')
GROUP BY tbl_tm.title, lp_index.starttime, musicsound.archnr
HAVING COUNT (tbl_tm.title) > 0;
相應的結果集是這樣的:
title starttime archnrr
============================================
Pumped up kicks 05:05:37 0616866
People Help The People 05:09:13 0620176
I can't dance 05:12:43 0600109
Locked Out Of Heaven 05:36:08 0620101
China in your hand 05:41:33 0600053
Locked Out Of Heaven 08:52:50 0620101
它給了我音樂職稱沿着一定的時間跨度之間發揮他們的開始時間和檔案ID。
我想達到的目標是這樣的:
title starttime archnr
============================================
Locked Out Of Heaven 05:36:08 0620101
Locked Out Of Heaven 08:52:50 0620101
只會有兩列左:二者有相同的標題和檔案號,但在部分時間是不同的。由於沒有任何完全相同的條目,因此增加'HAVING COUNT'值將給我一個零行 結果集。
到目前爲止我發現的是,這個問題的解決方案很可能會有嵌套子查詢,但我似乎無法完成。任何幫助,將不勝感激。
注意:我在Oracle 11g服務器上。我的用戶擁有隻讀權限。我在我的工作站上使用SQL Developer。
我試了一下馬上和repladed「your_query」與整個聲明,讓我所有的記錄(即一個與三聯內加入)。它似乎工作。非常感謝您的快速回答! – 2013-04-04 16:24:42
很高興能有所幫助。如果你覺得這個答案很好,請考慮接受它http://stackoverflow.com/faq#howtoask – 2013-04-06 21:20:26