У меня есть три таблицы TelNo , RefNo и Ref_Check_No . RefNo и Ref_Check_No содержит столбцы Telephone_Id и Entity_Id соответственно вместе с другими столбцами, тогда как TelNo имеет Телефонный номер и Entity_Id . Я хотел бы вставить все записи из Ref_Check_No в таблицу RefNo . Таблица TelNo содержит Telephone_Id для каждого Entity_Id . Все упомянутые столбцы не являются уникальными.
Дело в том, что я знаю, как вставить данные из таблицы Ref_Check_No . Однако я не могу вставить значения Telephone_Id для каждого Entity_Id . Я хотел бы получить MAX Telephone_Id номер для Entity_Id из таблицы TelNo и увеличить его на 1 для каждой Entity_Id в таблице RefNo с использованием оператора вставки. Ниже приведен пример того, чего я хотел бы достичь в таблице RefNo :
**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
В основном я хочу найти номер MAX Telephone_Id для Entity_Id (ABCD и EFGH) из
TelNo и увеличивайте его на 1 для каждой соответствующей Entity_Id в таблице RefNo .
Ниже приведен код, над которым я работал, который, похоже, не могу понять.
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
Есть ли способ найти номер MAX Telephone_Id и увеличить его на 1 для каждого Entity_Id , используя коррелированный подзапрос при вставке данных в RefNo стол одновременно?