Bonjour, je suis relativement nouveau dans le domaine de SQL - alors soyez gentil avec moi !
J'ai essentiellement deux tables que j'essaie de joindre et dans lesquelles la clé primaire de la première table est utilisée plusieurs fois dans la seconde (et forme la clé primaire de la seconde table avec une autre colonne).
Il est probablement préférable que je donne un exemple :
Tableau 1 : TravelRecords
TravelEventID EventType RecordLocator OfficeID
0001 F ABC123 LDN
0002 F ABC234 LDN
0003 T BDF232 SOU
0004 F DFD890 GLA
Tableau 2 : TravelRecordRmks
TravelEventID RemarkNo Keyword Text
0001 1 TVL LOWCOST BOOKING
0001 2 TVL CREDIT CARD USED
0001 3 PSG COST CENTRE REQUIRED
0001 4 PSG EMPLOYEE NUM REQUIRED
0002 1 TVL CREDIT CARD USED
0002 2 AGT BOOKED BY AGENT
0002 3 AGT CONFIRM WITH AIRLINE
0002 4 TVL LOWEST FARE CONFIRMED
0002 5 TVL NO CANCELLATION CHARGE
0003 1 TVL LOWCOST BOOKING
0003 2 TVL CARRIER : EASYJET
0003 3 TVL LOWEST FARE CONFIRMED
0004 1 TVL LOWCOST BOOKING
0004 2 TVL CREDIT CARD USED
Pour la deuxième table, la clé est la combinaison du TravelEventID et du RemarkNo qui, combinés, donnent un identifiant unique.
En fait, tout ce que j'essaie de faire, c'est de joindre les tables ensemble et de renvoyer le localisateur d'enregistrement pour les réservations dont la ligne de texte de remarque est RÉSERVATION À BAS PRIX ET CARTE DE CRÉDIT UTILISÉE (donc, dans l'exemple ci-dessus, seuls ABC123 et DFD890 devraient être renvoyés).
J'ai essayé quelque chose du genre :
SELECT TravelRecords.RecordLocator
FROM TravelRecords INNER JOIN
TravelRecordRmks ON TravelRecords.TravelEventID = TravelRecordRmks.TravelEventID db
WHERE (TravelRecordRmks.RemarkText = 'LOWCOST BOOKING')
and (TravelRecordRmks.RemarkText = 'CREDIT CARD USED')
ORDER BY dbo.vw_gTravelOrderEvent.RecordLocator
Cependant - cela ne donne rien. C'est probablement très simple, mais je n'arrive pas à obtenir la réponse requise lorsque je cherche à ce que l'unique TravelEventID contienne les deux champs Remark Text.
Toute aide est la bienvenue. Cheers