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