J'ai deux tables (SQL-Server):
t2: ======================= parent_id record_number 1 1 1 2 2 1 2 2 2 3
3 Réponses :
Est-ce ce que vous voulez? Si tel est le cas, je préfère utiliser null code> pour représenter que quelque chose n'a aucun parent: P> insert into t2 (parent_id, record_number)
select null, id
from t1;
i pense em> ce que l'OP est après est: INSERT INTO T2
SELECT T1.id
MAX(T2.ID) + 1
FROM T1
JOIN T2 ON T1.ID = T2.parent_id
GROUP BY T1.id;
Quelque chose comme ça devrait obtenir ce que vous voulez.
Remarque Je l'ai ajouté avec une jointe à gauche afin que vous puissiez utiliser Isnull au cas où l'enregistrement parent n'est pas encore dans T2. P>
SELECT
*,
ROW_NUMBER() OVER (PARTITION BY parent_id ORDER BY id)
FROM t2
ORDER BY parent_id, record_number
Cher Eilet Hjelmeseth, c'est exactement ce dont j'ai besoin, merci! Merci à tous répondre à ma question!
@cadol_stov, heureux d'aider et de bienvenue au débordement de la pile! Si cette réponse ou une autre solution a résolu votre problème, veuillez la marquer comme acceptée en cliquant sur la coche verte.
D'où vient 1,2 et 2,3?
@Salmana Ce serait le prochain séquentiel
record_number code> pour chaqueparent_id code>.