Nehmen wir an, wir haben eine Support-Software, wo der Kunde einfach in der Warteschlange stehen kann, wenn er voll ist. Der Warteschlangenindex wird mit ++ n für jeden Kunden in der Warteschlange erhöht. Index 0 bedeutet, dass Sie sich nicht mehr in der Warteschlange befinden.SQL: Korrigieren z. 1,2,4,5,7 bis 1,2,3,4,5 (Warteschlangenbestellung)
In einem Szenario jedoch, in dem ein Kunde die Warteschlange verlässt, wird der Warteschlangenindex des anderen Kunden nach ihm nicht verringert. Sagen wir, sein Index war 3 und es waren insgesamt 5 Kunden in der Schlange.
Bedeutet: 1,2,3,4,5
führte zu ->1,2,4,5
und das ist wirklich schrecklich. Stattdessen möchte ich, dass der Rest der Warteschlange ordnungsgemäß korrigiert wird und alle über der Luke verringert werden, bis keine Luke mehr vorhanden ist.
Wie korrigiere ich die Reihenfolge der Warteschlange mit einer SQL-Syntax, wo es überprüft, ob es eine Schraffur gibt, wenn ja, korrigieren Sie es?
Warum haben Sie hier "sql" hinzugefügt, versuchen Sie, die Primärschlüssel neu zu nummerieren, damit sie in fortlaufender Reihenfolge sind? –
Ich denke, Sie sollten den Code zur Verfügung stellen, der erklärt, wie Sie Person aus der Warteschlange entfernen – Imad
Warum ist nicht so etwas wie "SELECT TOP 1 ID FROM Warteschlange WHERE Sequenz> zuvorProcessedSequence ORDER BY Sequenz" genug, um "das nächste Element in der Sequenz" zu bekommen? –