Partage
  • Partager sur Facebook
  • Partager sur Twitter

Empêcher une requête sql de reparcourir la table

    24 février 2021 à 10:56:10

    Bonjour,

    J'ai une requête sql qui va parcourir ma table "prestataires" pour trouver les prestataires disponibles. Elle va chercher les 5 premiers, s'ils ne sont pas disponibles, elle va chercher les 5 suivants, etc.

    Actuellement, mon problème est que lorsqu'il arrive à la fin de la table, ça recommence depuis le début de la table, donc il va rechercher les 5 premiers, puis les 5 suivants, et ainsi de suite, sans fin.

    Comment puis-je éviter cela ? Je voudrais que ça s'arrête lorsqu'on arrive à la fin de la table.

    Voici ma requête actuelle :

    SELECT sp FROM App\Entity\ServiceProvider sp 
    JOIN sp.user u 
    WHERE (JSON_CONTAINS(sp.benefits, :benefit$key) = 1 
    AND u.isActive = :isActive 
    ORDER BY sp.score DESC, sp.revenue DESC, sp.isBoosted DESC 
    LIMIT :offset,5 

    Avec le offset qui change si les 5 premiers ne sont pas disponibles, etc.

    Merci.

    -
    Edité par YinYang2 24 février 2021 à 10:57:13

    • Partager sur Facebook
    • Partager sur Twitter
      24 février 2021 à 11:44:35

      Bonjour,

      Ce n'est pas la requête qui fait la boucle, c'est ton app C# (je suppose) qui fait cela non ?

      • Partager sur Facebook
      • Partager sur Twitter
      Seul on va plus vite, ensemble on va plus loin ... A maîtriser : Conception BDD, MySQL, PHP/MySQL

      Empêcher une requête sql de reparcourir la table

      × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
      × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
      • Editeur
      • Markdown