У меня есть эта диаграмма. UserId для обеих таблиц одинаковый (используйте его как внешний ключ). 0 Как определить, где UserId
не требуется в таблице UserAdditioStamp
, а затем эти данные входят в таблицу UserAdditioStamp
.Вставьте данные, если они не существуют
SELECT
min(ev.UserId) as UserId, ev.Value,
min(uas.UserId) as AdditionUserId,
max(uas.[TimeStamp]) as AdditionTimestamp,
count(ev.UserId) as [Registrations]
FROM
EventLog ev
LEFT JOIN
UserAdditionStamp uas ON ev.UserId = uas.UserId
WHERE
uas.UserId IS NULL
AND EventTypeId = 3
AND Value IS NOT NULL
GROUP BY
ev.Value
ORDER BY
UserId
Я пытаюсь, что для выбора, но это дает неправильный результат о регистрации подсчитывать (там должно быть 2 для регистрации UserId = 10, 2 для 13 и т.д.)
UserId AdditionUserId AdditionTimestamp [Registrations]
3 NULL NULL 1
10 NULL NULL 1
10 NULL NULL 1
13 NULL NULL 1
13 NULL NULL 1
, а затем я хочу вставить эти данные в таблицу UserAdditioStamp
. Как это возможно?
Вы хотите, чтобы вставить UserId и TimeStamp из EventLog в UserAdditionStamp таблицу, если UserId не существует в UserAdditionStamp? or Значение TimeStamp отличается от таблицы EventLog? –
Да, я хочу вставить UserId и TimeStamp из EventLog в таблицу UserAdditionStamp, если UserId не существует в UserAdditionStamp @DMayuri – gsiradze
, пожалуйста, см. Мой ответ, который может вам помочь –