mit Ich habe drei Tabellen TelNo, RefNo und Ref_Check_No. RefNo und Ref_Check_No hat Spalten Telephone_Id und ENTITY_ID jeweils zusammen mit anderen Spalten, während TelNo hat Telephone_Id und ENTITY_ID. Was ich tun möchte, ist, alle Datensätze von Ref_Check_No in die RefNo Tabelle einzufügen. Die TelNo Tabelle enthält die Telephone_Id für jede Entity_Id. Alle genannten Spalten sind nicht eindeutig.Erhöhungsschritte nicht eindeutiges Feld eine SQL-Anweisung INSERT
Die Sache ist, ich weiß, wie Sie die Daten aus der Ref_Check_No Tabelle einfügen. Jedoch kann ich nicht scheinen Telephone_Id Werte für jede Entity_Id einfügen. Was würde Ich mag zu tun ist, die MAX Telephone_Id Anzahl pro ENTITY_ID vom TelNo Tabelle abzurufen und um 1 für jede ENTITY_ID in der RefNo Tabelle erhöht ein Insert-Anweisung. Unten ist ein Beispiel dafür, was Ich mag in der RefNo Tabelle erreichen wäre:
**TelNo Table** **RefNo Table**
Telephone_Id Entity_Id Telephone_Id Entity_Id
1 ABCD 4 ABCD
2 ABCD 5 ABCD
3 ABCD 6 ABCD
89 EFGH 7 ABCD
90 EFGH 96 EFGH
95 EFGH 97 EFGH
Grundsätzlich ich tun, was will, ist die MAX Telephone_Id Anzahl pro ENTITY_ID (ABCD und EFGH) zu finden, von die TelNo Tabelle und erhöhen sie um 1 für jede entsprechende Entity_Id in der RefNo Tabelle.
Unten ist der Code, an dem ich gearbeitet habe, den ich nicht richtig erscheinen kann.
INSERT INTO
RefNo
(
Telephone_Id,
Entity_ID,
ContactName
)
SELECT
(SELECT COUNT(*) FROM Ref_Check_No b WHERE(a.Entity_Id = b.Entity_Id)
ISNULL ((SELECT MAX(Telephone_Id) AS Telephone_Id FROM TelNo
WHERE (Entity_Id = a.Entity_Id)), 0) AS Telephone_Id,
Entity_ID,
ContactName
FROM
Ref_Check_No
Gibt es eine Möglichkeit, die MAX Telephone_Id Nummer zu finden und es für jeden ENTITY_ID um 1 erhöht eine korrelierte Unterabfrage mit, während die Daten in der RefNo zugleich Tabelle einfügen?
Welche Datenbank und Version? –