Je grappe un fichier journal pour les enregistrements de transaction que j'insère dans une table qui sera utilisée pour plusieurs tâches d'exploration de données. Chaque enregistrement a (entre autres) un identifiant et un type de transaction, soit une requête, soit une réponse. Une paire requête/réponse aura le même ID.Comment trouver des enregistrements sans correspondance dans une seule table?
Une de mes tâches consiste à trouver toutes les demandes qui n'ont pas de réponse correspondante. J'ai pensé à joindre la table à elle-même, où A.ID = B.ID AND A.type = 'req' et B.type = 'res', mais cela me donne le contraire de ce dont j'ai besoin.
Étant donné que les ID se produiront toujours une ou deux fois, y a-t-il une requête qui sélectionnerait l'ID s'il n'y a qu'une occurrence de cet ID dans la table?
'SELECT * FROM the_table A WHERE N'EXISTE PAS (SELECT * FROM the_table B où A.ID = B.ID AND A.type = 'req' et B.type = 'res'); ' – joop