Ich habe eine INSERT INTO SELECT
Abfrage. In der SELECT
Anweisung habe ich eine Unterabfrage, in der ich eine inkrementelle Zahl in einem Feld hinzufügen möchte. Diese Abfrage funktioniert gut, wenn meine SELECT
Abfrage und nur einen Datensatz zurückgibt, aber wenn es mehrere Zeilen zurückgibt, fügt es die gleiche Zahl in das inkrementelle Feld für alle diese Zeilen ein. Gibt es eine Möglichkeit, es zu beschränken, jedes Mal eine inkrementelle Nummer hinzuzufügen?Fügen Sie eine inkrementelle Zahl in einem Feld in INSERT INTO SELECT-Abfrage in SQL Server
INSERT INTO PM_Ingrediants_Arrangements_Temp
(AdminID,ArrangementID,IngrediantID,Sequence)
(SELECT
@AdminID, @ArrangementID, PM_Ingrediants.ID,
(SELECT
MAX(ISNULL(sequence,0)) + 1
FROM
PM_Ingrediants_Arrangements_Temp
WHERE
[email protected])
FROM
PM_Ingrediants
WHERE
PM_Ingrediants.ID IN (SELECT
ID
FROM
GetIDsTableFromIDsList(@IngrediantsIDs))
)
für die dritte Option Ich muss Sequenz Sequenz Auto Inkrement nicht machen. Ich muss die vorhandene Nummer aus der Sequenz abrufen und die nächste inkrementelle Nummer in dieser Spalte einfügen. –
Scnerio 2 funktioniert in meinem Zustand. Vielen Dank für die sofortige Hilfe. –
:: wenn meine Sequenz-Spalte keine Null-Werte zulässt und meine Tabelle keinen Datensatz hat. seine Wurfausnahme .... –