Recevez les Dernières ID à partir d'une des Doublons dans une table
donc, j'ai deux tables, l'une est RAWtable et l'autre est MAINtable, je dois obtenir les dernières groupID si il y
sont plus que l'un des documents existent (en comparant même nom, code). Par exemple, j'ai cela sur RAWtable:
id groupid name code
1 G09161405 Name1 Code1
2 G09161406 Name1 Code1
les deux dossiers devraient être traités comme un seul et doit retourner cette valeur uniquement:
id groupid name code
2 G09161406 Name1 Code1
Cette ligne est la seule ligne qui shiuld être inséré dans la table principale. À condition de retourner la dernière GroupID (groupid est la combinaison de la date et de l'heure)
J'ai essayé mais sa ne marche pas:
SELECT MAST.ID, MAST.code, MAST.name FROM RAWtable AS MAST INNER JOIN
(SELECT code, name, grouid,id FROM RAWtable AS DUPT GROUP BY code, name, groupid,id HAVING COUNT(*) >= 2) DUPT
ON DUPT.code =MAST.code and DUPT.name =MAST.name where dupt.groupid >mast.groupid
comment puis-je faire cela? merci beaucoup.
- ce que DB est ce (Oracle/MySQL/sql server/SQLite...) ?
Vous devez vous connecter pour publier un commentaire.
Ou si vous n'avez pas row_number()
Essayer de cette façon, il vous donnera max id de groupe qui sera plus tard :
Sera de retour:
Sera de retour le max gorupid pour tous les enregistrements qui ont plus d'un enregistrement dans la table
Essayez ceci:
select max(t.groupid), t.name, t.code
from RAWtable t
group by t.name, t.code
Ce sera essentiellement sélectionnez la valeur max de
groupid
pour chaque nom et chaque combinaison de code.