Ich weiß leider nicht, wie ich das am besten formulieren sollte (im Titel).
Folgende (vereinfachte) Tabellen-Struktur:
u_id INT
f_id INT AUTO_INC UNIQUE
f_pos TINT
Jede U_ID kann in der Tabelle 1-10 Mal vorkommen (X).
F_POS soll bei jeder U_ID von 1 bis X sein.
Das wäre an sich kein Problem, wenn die F_POS-Spalte nicht nachträglich hinzugekommen wäre. Nun enthält F_POS bei jedem DS denselben Wert (NULL oder 1 oder was auch immer, spielt ja keine Rolle).
Das Problem besteht nun darin, die F_POS-Werte zu vergeben. Mal ein Beispiel, wie es z.B. am Ende aussehen soll:
U_ID - F_ID - F_POS
1 - 1 - 1
1 - 2 - 2
1 - 3 - 3
2 - 4 - 1
2 - 5 - 2
3 - 6 - 1
4 - 7 - 1
5 - 8 - 1
5 - 9 - 2
5 - 10 - 3
5 - 12 - 4
5 - 13 - 5
usw.
Eine Abhängigkeit zwischen F_ID und F_POS gibt es nicht. U_ID und F_ID sind bereits fest eingetragen.
Wie kann ich das nun automatisch machen? Die Tabelle hat ein paar Tausend Datensätze.
Eine Möglichkeit wäre natürlich, für jede U_ID in einer Schleife die F_POS zu vergeben, aber das wären ja X Tausend SQL-Abfragen und ich hoffe, dass es eine andere Lösung gibt.
Kann mir jemand helfen?
Schon mal vielen Dank.
DasD
Folgende (vereinfachte) Tabellen-Struktur:
u_id INT
f_id INT AUTO_INC UNIQUE
f_pos TINT
Jede U_ID kann in der Tabelle 1-10 Mal vorkommen (X).
F_POS soll bei jeder U_ID von 1 bis X sein.
Das wäre an sich kein Problem, wenn die F_POS-Spalte nicht nachträglich hinzugekommen wäre. Nun enthält F_POS bei jedem DS denselben Wert (NULL oder 1 oder was auch immer, spielt ja keine Rolle).
Das Problem besteht nun darin, die F_POS-Werte zu vergeben. Mal ein Beispiel, wie es z.B. am Ende aussehen soll:
U_ID - F_ID - F_POS
1 - 1 - 1
1 - 2 - 2
1 - 3 - 3
2 - 4 - 1
2 - 5 - 2
3 - 6 - 1
4 - 7 - 1
5 - 8 - 1
5 - 9 - 2
5 - 10 - 3
5 - 12 - 4
5 - 13 - 5
usw.
Eine Abhängigkeit zwischen F_ID und F_POS gibt es nicht. U_ID und F_ID sind bereits fest eingetragen.
Wie kann ich das nun automatisch machen? Die Tabelle hat ein paar Tausend Datensätze.
Eine Möglichkeit wäre natürlich, für jede U_ID in einer Schleife die F_POS zu vergeben, aber das wären ja X Tausend SQL-Abfragen und ich hoffe, dass es eine andere Lösung gibt.
Kann mir jemand helfen?
Schon mal vielen Dank.
DasD
Kommentar