Je voudrais faire correspondre toutes les entrées dans une table de journaux qui se produit ayant les mêmes day
et cause
qui sont dans la table plus d'une fois. J'ai écrit la requête pour que récupère déjà les doublons, mon problème est que j'ai besoin d'avoir accès à toutes les colonnes dans le résultat de la table pour JOINs plus tard. Le tableau ressemble à ça:Auto-jointure pour trouver des doublons mais en incluant toutes les colonnes
| ID | DATE | CAUSE | USER | ... |
|--------------------------------------|
| x | 2017-01-01 | aaa | 100 | ... |
| x | 2017-01-02 | aaa | 101 | ... |
| x | 2017-01-03 | bbb | 101 | ... |
| x | 2017-01-03 | bbb | 101 | ... |
| x | 2017-01-04 | ccc | 101 | ... |
| x | 2017-01-04 | ccc | 101 | ... |
| x | 2017-01-04 | ccc | 101 | ... |
| x | 2017-01-05 | aaa | 101 | ... |
| .....................................|
| .....................................|
| .....................................|
Requête:
SELECT logs.* FROM
(SELECT day, cause FROM logs
GROUP BY day, cause HAVING COUNT(*) > 1) AS logsTwice, logs
WHERE logsTwice.day = logs.day AND logsTwice.cause = logs.cause
Les sous sélectionner fetch exactement les bonnes données (date et la cause), mais lorsque je tente d'obtenir les colonnes supplémentaires de ces matchs-je obtenir complètement faux Les données. Qu'est-ce que je fais mal?
Mis à part le fait que la syntaxe de jointure est sérieusement obsolète, il semble que cela devrait fonctionner. Compte tenu de cet ensemble de données, qu'est-ce que vous récupérez? – Simon
Veuillez lire et agir sur [mcve]. En particulier, afficher DDL, DML, entrée, sortie et sortie attendue. – philipxy