0
我有以下查詢,它在Oracle和SQL Server 2008上都能很好地運行,但它似乎無法在PostgreSQL上運行。該查詢旨在返回符合給定條件的記錄數。有人可以解釋這個原因嗎?也可以提供一個解決方案,以便如何修改這個查詢以使它產生預期的結果。用作表達式的子查詢返回多行
查詢:
select count(*)
from tma_notices
where TNOT_NOTICE_TYPE ='0400'
and TNOT_NOTICE_STATUS = 'OK'
and tnot_notice_id >=
(
select NOTICE_NUM_AT_MIDNIGHT
from RWOL_COUNTER_QUERY_TYPE
where QUERY_TYPE = 'START_NOTICES_TODAY'
and USER_NAME = 'PUBLIC'
)
UPDATE:此錯誤是由在PostgreSQL數據庫不可預見的重複記錄引起的。重複來自哪裏需要調查。
奇怪的是我剛纔檢查,此代碼引用實際上覆制了已造成這個問題的記錄表。這在克隆數據庫期間一定發生過。我將不得不進一步調查,但謝謝你的回答。 – CSharpened
@CSharpened:我會假設至少在Oracle中,如果子查詢返回多於一行,原始查詢也會失敗。 –
@a_horse_with_no_name:我完全同意 – DonCallisto