0
SELECT * FROM TABLE1
WHERE WEEKENDDT = (SELECT MAX(ENDDTE)FROM TABLE2)

この選択は何らかの理由でデータを返していません。両方のテーブルには特定の日付のデータがあります。MAX(ENDDTE) には 02-MAY-12 のデータがあり、WEEKENDDT にも 02-MAY-12 のデータがあります。

4

1 に答える 1

6

timeの一部がdate異なる場合に発生する可能性があります。

たとえば、WEEKENDDTinTable1に値02-09-2012 18:47があり、MAX(ENDDTE)ofTable2がである02-09-2012 00:00場合、それらは等しくないため、と比較することはできません=

timeパーツを切り捨てる場合は、次を使用しTRUNC()ます。

SELECT * FROM TABLE1
WHERE TRUNC(WEEKENDDT) = (SELECT TRUNC(MAX(ENDDTE)) FROM TABLE2)

これがデモです。

于 2012-09-02T17:49:19.050 に答える