MAX LEN (taille la plus longue)

Résolu
Bonjour à vous !

Je souhaite unir 2 tables différentes et prendre, pour chaque référence (il y en a environ 5000), la longueur de chaine de caractère la plus longue (il y a plusieurs textes par références).

Voici la requête :

INSERT INTO HtmlTableTailleMax
SELECT *
FROM (SELECT DISTINCT HtmlTableArgu.refciale, MAX(LEN(HtmlTableArgu.Texte)) AS TailleMax
FROM HtmlTableArgu
GROUP BY HtmlTableArgu.refciale, HtmlTableArgu.Texte
UNION
SELECT DISTINCT HtmlTableArgug.refciale, MAX(LEN(HtmlTableArgug.Texte)) AS TailleMax
FROM HtmlTableArgug
GROUP BY HtmlTableArgug.refciale, HtmlTableArgug.Texte);

Or cette requête me calcule les longueurs de chaque texte de référence....

Help please :/

1 réponse

  • Votes
  • Date
  • Date décroissante
  1. Contributeur
    bonjour,
    peut-être:
    INSERT INTO HtmlTableTailleMax
    select u.refciale, max(u.Taille)
    from 
    (SELECT refciale, LEN(Texte) AS Taille
    FROM HtmlTableArgu
    UNION ALL
    SELECT refciale, LEN(Texte) 
    FROM HtmlTableArgug) as u
    GROUP BY u.refciale
    1. Contributeur
      ou bien:
      INSERT INTO HtmlTableTailleMax
      select u.refciale, max(u.MaxTaille)
      from 
      (SELECT refciale, max(LEN(Texte)) AS MaxTaille
      FROM HtmlTableArgu
      GROUP BY refciale
      UNION 
      SELECT refciale, max(LEN(Texte))
      FROM HtmlTableArgug
      GROUP BY refciale) as u
      GROUP BY u.refciale
    2. Contributeur
      @yg_been tous cas, certainement pas Texte dans GROUP BY.
    3. @yg_beBonjour,

      Merci pour ta réponse.
      Cependant, que signifie u ?
      Car ca me met une erreur, il ne le reconnait pas en tant que table.
    4. Contributeur
      @Anonyme91peux-tu montrer ce que tu as essayé?
      u est un alias de l'union.
    5. @yg_beJ'ai copier-coller ce que tu as écrit.