Join Sur select

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 : Join Sur select

Re: Join Sur select

par Saian » 28 mai 2019, 17:10

Je viens de tester ça yoann, après de la à dire si ce serait plus rapide que les 2 requêtes supplémentaires...? de plus cela demande que tu ais fait un fetch de tous les résultats sous forme de tableaux associatifs afin d'avoir le tableau qui va bien.
$array = array(
  array('id' => 1, 'status' => 0),
  array('id' => 2, 'status' => 0),
  array('id' => 3, 'status' => 0),
  array('id' => 4, 'status' => 1),
);

$result = array_count_values(array_column($array, 'status'));

print_r($result);

/*
Output :
Array
(
    [0] => 3 // il y a bien 3 status = 0
    [1] => 1 // et 1 status = 1
)
*/

Re: Join Sur select

par Saian » 28 mai 2019, 16:54

Franchement ça va. Si tu as bien un index sur la colonne id_membre et un index sur la colonne status, aucun problème.

Re: Join Sur select

par yoann38 » 28 mai 2019, 16:53

bah du coup j'en fait 3 celle qui comporte le Join puis une statut 0 et puis une statut 1.
3 requete sur la page

Re: Join Sur select

par Saian » 28 mai 2019, 16:51

2 requêtes c'est pas la mort question perf. Sinon tu peux toujours boucler sur les résultats et compter.

Re: Join Sur select

par yoann38 » 28 mai 2019, 16:49

je voulais savoir si il y avait un autre moyen pour optimiser tout ça

Re: Join Sur select

par Saian » 28 mai 2019, 16:21

Oui 2 requêtes SELECT COUNT avec le WHERE qui va bien (WHERE status = 0 et WHERE status = 1).

Re: Join Sur select

par yoann38 » 28 mai 2019, 15:37

Merci pour les alias je n'en n'avais jamais encore utiliser.
Par contre petite question ok je pet affiché mes résultats mais par exemple j'ai une colonne statut qui vaut 1 ou 0

J'aimerais pour voir afffiché le nombre d'entré qui sont 0 et ce qui sont à 1
Je dois refaire une requete COUNT ?

Re: Join Sur select

par Saian » 28 mai 2019, 15:10

Salut, tu dois soit mettre le nom de la table devant le champ, soit un alias :
SELECT * FROM membres m JOIN siteweb s ON s.id_membre = m.id_membre WHERE m.id_membre = '5'

Join Sur select

par yoann38 » 28 mai 2019, 15:07

Salut tout le monde
Voila je cherche à faire la jointure pour un select sur id_membre à savoir que mes 2 tables on id_membre d'ou le message que j'ai id_membre est ambigu

Comment puis je résoudre mon soucis svp ?
SELECT * FROM membres JOIN siteweb WHERE id_membre = '5'