сначала получите данные для таблицы Y и вставьте, я использовал номер строки для идентификатора таблицы Y, вы можете создать для этого идентификатор, если хотите.второй выберите данные для таблицы XY с объединением со свойством текста таблицы X и Y.
, пожалуйста, не используйте ключевые слова для имени поля, такие как текст или дата.
DECLARE @x TABLE(
x_id int,
date datetime,
text varchar(100),
receiver int
)
insert INTO @x
(
x_id,
[date],
[text],
receiver
)
VALUES
(1,'2019-02-22 20:40:30.617 ','txt1',4),
(2,'2019-02-22 20:40:06.103 ','txt1',5),
(3,'2019-02-22 20:28:21.393 ','txt2',4)
--for Y table
--insert into Y
SELECT ROW_NUMBER() OVER(ORDER BY [text] ASC) AS Id, Min(date) AS [date], [text]
INTO #Y
FROM @x
GROUP BY [text]
--for XY table
SELECT Y.Id AS y_id, X.x_Id AS x_id FROM @x AS X
INNER JOIN #Y Y ON X.[text] = Y.[text]
DROP TABLE #Y