SQL - une variable "ALL" emglobant tous les résultats ?

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : SQL - une variable "ALL" emglobant tous les résultats ?

Re: SQL - une variable "ALL" emglobant tous les résultats ?

par Genova » 09 juil. 2015, 15:06

Il en existe une si tu n'as vraiment pas le choix, c'est de faire ça :
SELECT *
FROM team
JOIN liste_membre ON liste_membre.id = team.id_membre
WHERE statut = 1
AND tier = tier
ORDER BY id_equipe DESC

Re: SQL - une variable "ALL" emglobant tous les résultats ?

par Azelma » 09 juil. 2015, 14:27

Très bien c'est dommage qu'il n'existe pas de solution directement en SQL ça m'aurait bien arrangé...
Je vais suivre ta solution Ryle, merci quand même :)

Re: SQL - une variable "ALL" emglobant tous les résultats ?

par Ryle » 09 juil. 2015, 14:01

Je rejoins Genova... sans le supprimer de façon barbare et abrupte, le mettre simplement de façon conditionnée par du php devrait répondre à ton besoin
$sql = "SELECT ... WHERE ... ";
if ($maCondition) {
   $sql.= " AND tier = '$get_tier' "
}
$sql.= "ORDER BY id_equipe DESC";

Re: SQL - une variable "ALL" emglobant tous les résultats ?

par Genova » 09 juil. 2015, 11:57

Je voudrais que mon "$get_tier" puisse valoir "tous les résultats possible", ne me dites pas "tu as juste a le supprimer" hein, l'idée c'est bien entendu de pouvoir lui donner d'autres valeurs si besoin !
Et pourtant ne pas le mettre est ce qu'il faut faire. Le principe du WHERE c'est de restreindre le nombre de résultats, donc si tu veux que ta clause retourne tous les résultats il faut par conséquent retirer le filtre qui limite ces résultats.

Re: SQL - une variable "ALL" emglobant tous les résultats ?

par Rukien » 09 juil. 2015, 11:41

Salut,
Tu peux utiliser le mot clé IN.
Par exemple, suppose que tu cherches à retourner tous les résultats dont l'ID est compris dans une liste/tableau dont les valeurs sont (4,5,6,8)

Ici, tu ferais :

Code : Tout sélectionner

... AND tier IN (4,5,6,8) ...
Ou alors avec le mot clé ANY :

Code : Tout sélectionner

... AND tier = ANY (4,5,6,8) ...
A noter qu'entre les parenthèses tu peux aussi spécifier une sous requête, mais là on rentre plus dans du spécifique SQL, déjà qu'on était en plein dedans. :)

Bon courage !

SQL - une variable "ALL" emglobant tous les résultats ?

par Azelma » 09 juil. 2015, 11:21

Bonjour !

Voilà dans le cadre d'un petit module j'aurais besoin de donner à ma variable la valeur "tous les résultats possibles".

Quelque chose comme $variable = ALL ou $variable = *

Mais ca n'existe pas ou du moins pas sous cette forme ! Et je ne trouve pas si c'est possible....

Je connais bien entendu le "IS NOT NUL" en SQL mais ca ne me convient pas vu que j'ai besoin de passer par une variable.

Je vous donne mon code :

Code : Tout sélectionner

SELECT * FROM team JOIN liste_membre ON liste_membre.id = team.id_membre WHERE statut = 1 AND tier = '$get_tier' ORDER BY id_equipe DESC
Je voudrais que mon "$get_tier" puisse valoir "tous les résultats possible", ne me dites pas "tu as juste a le supprimer" hein, l'idée c'est bien entendu de pouvoir lui donner d'autres valeurs si besoin !

Merci d'avance !