Bonjour à tous,
j'aimerai savoir s'il est possible de mettre en place une sorte de système "CASE WHEN" afin de choisir entre 2 "INNER JOIN".
Voici la requête en question:
J'aimerai que si :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 SELECT CRUIS.ID_BKIN ,CRUIS.TITI ,CRUIS.TATA, CRUIS.ID_BKCS , CRUIS.BOOKINGSTATUSCODE,CRUIS.CATEGORYCODE FROM [dbo].[ODS_BKCS_CRUISE_SAILING] CRUIS INNER JOIN ( SELECT TOTO.ID_BKIN ,TOTO.TITI ,TOTO.TATA, MAX(TOTO.ID_BKCS) as MAX_ID_BKCS FROM [dbo].[ODS_BKCS_CRUISE_SAILING] TOTO GROUP BY TOTO.ID_BKIN ,TOTO.TITI,TOTO.TATA ) TOTOG ON CRUIS.ID_BKIN = TOTOG.ID_BKIN AND CRUIS.ID_BKCS = TOTOG.MAX_ID_BKCS
"SELECT COUNT(DISTINCT ID_BKCS )
FROM [dbo].[ODS_BKCS_CRUISE_SAILING] CRUIS
GROUP BY ID_BKIN
HAVING COUNT(CustomerID) > 1;"
alors j'utilise cette jointure
Sinon j'utilise celle-là:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 SELECT CRUIS.ID_BKIN ,CRUIS.TITI ,CRUIS.TATA, CRUIS.ID_BKCS , CRUIS.BOOKINGSTATUSCODE,CRUIS.CATEGORYCODE FROM DWH_BOOKING.[dbo].[ODS_BKCS_TUTU_SAILING] CRUIS INNER JOIN (SELECT CRUISG.ID_BKIN ,CRUISG.TITI ,CRUISG.TATA, MAX(CRUISG.ID_BKCS) as MAX_ID_BKCS FROM DWH_BOOKING.[dbo].[ODS_BKCS_TUTU_SAILING] CRUISG INNER JOIN DWH_BOOKING.[dbo].[ODS_BKCP_TUTU_PARTICIPANT] CRUIP ON CRUISG.ID_SOURCE = CRUIP.ID_SOURCE and CRUISG.ID_BKCS = CRUIP.ID_BKCS INNER JOIN DWH_BOOKING.[dbo].[ODS_BKPA_PARTICIPANT] PA ON CRUIP.ID_SOURCE = PA.ID_SOURCE and PA.PASSENGERNO = CRUIP.PASSENGERNO where PA.MARKETINGID is not null and CRUISG.BOOKINGSTATUSCODE <> 'CXL' GROUP BY CRUISG.ID_BKIN ,CRUISG.TITI,CRUISG.TATA
Merci à tous !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 SELECT CRUIS.ID_BKIN ,CRUIS.TITI ,CRUIS.TATA, CRUIS.ID_BKCS , CRUIS.BOOKINGSTATUSCODE,CRUIS.CATEGORYCODE FROM [dbo].[ODS_BKCS_CRUISE_SAILING] CRUIS INNER JOIN ( SELECT TOTO.ID_BKIN ,TOTO.TITI ,TOTO.TATA, MAX(TOTO.ID_BKCS) as MAX_ID_BKCS FROM [dbo].[ODS_BKCS_CRUISE_SAILING] TOTO GROUP BY TOTO.ID_BKIN ,TOTO.TITI,TOTO.TATA ) TOTOG ON CRUIS.ID_BKIN = TOTOG.ID_BKIN AND CRUIS.ID_BKCS = TOTOG.MAX_ID_BKCS







Répondre avec citation
Partager