36 lines
1.2 KiB
Transact-SQL
36 lines
1.2 KiB
Transact-SQL
UPDATE csro
|
|
SET csro.TOROLT = 'T'
|
|
FROM T_CSENGETESIRENDORA csro
|
|
INNER JOIN
|
|
(SELECT C_CSENGETESIRENDID, C_ORASZAM, C_INTEZMENYID, C_TANEVID, COUNT(1) AS CNT, MIN(ID) AS minId
|
|
FROM T_CSENGETESIRENDORA
|
|
WHERE TOROLT = 'F'
|
|
GROUP BY C_CSENGETESIRENDID, C_ORASZAM, C_INTEZMENYID, C_TANEVID
|
|
HAVING COUNT(1) > 1
|
|
) x ON csro.C_CSENGETESIRENDID = x.C_CSENGETESIRENDID AND csro.C_ORASZAM = x.C_ORASZAM AND csro.ID <> x.minId
|
|
WHERE csro.TOROLT = 'F'
|
|
|
|
|
|
UPDATE oo
|
|
SET oo.C_CSENGETESIRENDORAID = x.csroId
|
|
FROM T_ORARENDIORA oo
|
|
INNER JOIN (
|
|
SELECT TOP(3000) o.id AS ooId, cs.ID AS csroId
|
|
FROM T_ORARENDIORA o
|
|
INNER JOIN T_CSENGETESIRENDORA cs ON cs.C_ORASZAM = o.C_ORASZAM AND cs.C_CSENGETESIRENDID = o.C_CSENGETESIRENDID AND cs.TOROLT = 'F'
|
|
WHERE o.C_CSENGETESIRENDORAID <> cs.ID
|
|
) x ON oo.ID = x.ooId
|
|
|
|
WHILE @@ROWCOUNT <> 0 BEGIN
|
|
UPDATE oo
|
|
SET oo.C_CSENGETESIRENDORAID = x.csroId
|
|
FROM T_ORARENDIORA oo
|
|
INNER JOIN (
|
|
SELECT TOP(3000) o.id AS ooId, cs.ID AS csroId
|
|
FROM T_ORARENDIORA o
|
|
INNER JOIN T_CSENGETESIRENDORA cs ON cs.C_ORASZAM = o.C_ORASZAM AND cs.C_CSENGETESIRENDID = o.C_CSENGETESIRENDID AND cs.TOROLT = 'F'
|
|
WHERE o.C_CSENGETESIRENDORAID <> cs.ID
|
|
) x ON oo.ID = x.ooId
|
|
END;
|
|
GO
|