Problème sql where table temp

Résolu
Juduno -  
 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

  1. Juduno
     
    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
    0
  2. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 588
     
    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 
    0
    1. juduno
       
      c'est vrai j'ai pas pensé à le faire comme ça merci
      0