我已經被賦予了從Oracle數據庫中選擇關鍵數據的任務,但我注意到我的選擇正在返回重複的行。我不需要他們爲我的報告,但我不希望他們刪除它們。有人可以幫助獲取我需要的數據嗎?我已經嘗試了下面的代碼,但這沒有幫助。如何防止在選擇查詢中選擇重複行?
SELECT distinct bbp.SUBCAR "Treadwell",
bbp.BATCH_ID "Batch ID",
bcs.SILICON "Si",
bcs.SULPHUR "S",
bcs.MANGANESE "Mn",
bcs.PHOSPHORUS "P",
to_char(bcs.SAMPLE_TIME, 'dd-MON-yy hh24:MI') "Sample Time",
to_char(bbp.START_POUR, 'dd-MON-yy hh24:MI') "Start Pour Time",
to_char(bbp.END_POUR, 'dd-MON-yy hh24:MI') "End pour Time",
bofcs.temperature "Temperature"
FROM bof_chem_sample bcs, bof_batch_pour bbp, bof_celox_sample bofcs
WHERE bcs.SAMPLE_CODE= to_char('D1')
AND bbp.BATCH_ID=bcs.BATCH_ID
AND bcs.SAMPLE_TIME>=to_date('01-jan-10')
好,我從來沒有發現過。這是一個完整的笛卡爾連接,難怪有很多重複:) – Datajam 2011-05-19 20:51:46
謝謝,這是朝着正確方向邁出的一大步。因爲這一點,我注意到與數據庫本身的其他斷開連接。 – 2011-05-19 22:03:24
在查詢中看到'distinct'應該可以響起警鐘。它通常掩蓋了查詢中或DB設計中的一些問題。 – 2011-05-20 06:24:29