Problème sql where table temp

Résolu/Fermé
Signaler
-
 juduno -
Bonjour,

je dois pas avoir les yeux en face des trous j'ai pas trouver la rubrique sql mais passons mon problème cette fois, je ne le comprend pas trop

DECLARE @dt DATETIME = DATEADD(DAY, -7, GETDATE());
    
SELECT  imre_id 
INTO #tmpImre_id
FROM import_regle
WHERE imre_d_fin_sejour < @dt

UPDATE regle
SET imre_id = NULL
WHERE imre_id = #tmpImre_id.imre_id

DELETE FROM #tmpImre_id  

DROP TABLE #tmpImre_id

je comprend pas pourquoi je peux pas faire mon where entre imre_id et ma table temporaire

si une personne veux bien m'expliquer le pourquoi du comment

merci d'avance

2 réponses

bon c'est pas la réponse pour résoudre la question mais du coup j'ai fait comme ça parce que j'y arrivé pas

DECLARE @dt DATETIME = DATEADD(DAY, -7, GETDATE());
    
SELECT imre_id 
INTO #tmpImre_id
FROM import_regle
WHERE imre_d_fin_sejour < @dt

UPDATE regle 
SET imre_id = NULL
FROM regle r
INNER JOIN #tmpImre_id tmp on tmp.imre_id = r.imre_id


DELETE FROM import_regle
WHERE imre_id IN (SELECT *
                  FROM #tmpImre_id
                 ) 


DROP TABLE #tmpImre_id
Messages postés
17741
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
3 décembre 2021
949
bonjour, moi j'essaierais ceci, sans table temporaire:
UPDATE regle r
    JOIN import_regle t ON r.imre_id = t.imre_id AND t.imre_d_fin_sejour < @dt
SET r.imre_id = NULL

DELETE FROM import_regle
WHERE imre_d_fin_sejour < @dt 
c'est vrai j'ai pas pensé à le faire comme ça merci