J'essaie d'obtenir la valeur null
dans la colonne USAGE_START_DATE
. Jusqu'ici, ce que j'ai obtenu est les enregistrements max uniques de ceux avec la valeur dans la colonne USAGE START DATE
, et n'a pas pu trouver les enregistrements avec nulls
dans le USAGE START DATE
. J'ai déjà essayé ISNULL
, COALESCE
, NVL
, NZ
.SQL max et null
J'ai 2 tables: liées par Reservation_id.
ReservationID Usage Start Date
1 01/01/2001 00:00:00
1 02/01/2001 00:00:00
1 03/03/2001 00:00:00
2 NULL
2 NULL
Jusqu'à présent, mon code actuel: Voici ce que je suis:
ReservationID Usage Start DAte
1 03/03/2001 00:00:00
Voici ce que je veux:
ReservationID Usage Start Date
1 03/03/2001 00:00:00
2
Merci !!!
Pour simplifier mon code:
SELECT distinct RENTAL_DETAILS_VW.RESERVATION_ID,
RENTAL_DETAILS_VW.USAGE_START_DATE,
FROM BYNXFLEET_BI.RENTAL_DETAILS_VW, WILLOW2K.RESERVATIONS
WHERE RENTAL_DETAILS_VW.USAGE_START_DATE = (
select max(case when ors2.USAGE_START_DATE is null
then {ts ' 2009-01-01 00:00:00 ' }
else ors2.USAGE_START_DATE END)
FROM RENTAL_DETAILS_VW ors2
where ors2.RESERVATION_ID=RESERVATIONS.RESERVATION_ID)
Veuillez couper les champs externes pour produire un cas de test minimal. La plupart de cela n'a pas d'importance pour votre question et je n'ai pas hâte d'y aller. – outis
Je ne suis pas vraiment sûr de ce que vous demandez. Il est également utile d'inclure des exemples de résultats - si possible, ce que vous voyez réellement et ce que vous aimeriez voir à la place. Puisque nous n'avons pas votre base de données, nous ne pouvons pas dire ce que cela est censé renvoyer. – SqlRyan
@khoa: J'ai mis à jour ma réponse avec ce que je pense que vous cherchez. – SqlRyan