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
 |