Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1077 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Moteur multicritere

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Moteur multicritere

n°1207421
genzo22
Posté le 26-09-2005 à 10:50:53  profilanswer
 

Bonjour,
Je suis à la recherche d'un moteur de recherche multicritère sur plusieurs tables je vois comment faire avec une seule tables mais plusieurs cela se complique un peu. Avec la concatenation pour les from et les where.
 
Merci pour vos conseils.

mood
Publicité
Posté le 26-09-2005 à 10:50:53  profilanswer
 

n°1207501
betsamee
Asterisk Zeperyl
Posté le 26-09-2005 à 12:24:10  profilanswer
 

peux tu etre plus explicite stp?

n°1207535
omega2
Posté le 26-09-2005 à 13:38:43  profilanswer
 

recherche de logiciel : "windows software & reseau"
 
probléme de création de requette SQL => SGBD/SQL
Mais déjà tout bon tutoriel sur le langage SQL t'apprendras comment faire une requette utilisant plusieurs tables à la fois, et en clair, il suffit juste de dire à quelle table appartient telle colone en utilisant la syntaxe suivante : "table.colone" (sans les guillemets évidement)

n°1207541
backdafuck​up
Back to da old skool
Posté le 26-09-2005 à 13:42:27  profilanswer
 

Je ne comprends pas bien ta question, mais voici un exemple de requete multitable :  
 
SELECT *
FROM sqlTable A, sqlTable2 B, sqlTable3 C
WHERE A.Col1 = B.Col1
AND A.Col1 = C.Col1
AND A.Col1 = 'bonjour'
ORDERBY A.Col1
 
Bien sûr, sqlTable1, sqlTable2, sqlTable3 et Col1 sont à remplacer par tes noms de tables et colonnes...

n°1207580
genzo22
Posté le 26-09-2005 à 14:07:49  profilanswer
 

je viens de terminer et cela fonctionne bien j'ai stocker dans une variable mes différente table et condition avec des concatenation et tout executer à la fniet cela fonctionnne.
Mais, une question :  
je fais une recherche sur des utilisateurs qui des albums mais un uilisateur peut avoir plusieurs album et j'aimerai qu'a ma sortie de a requete il ne sorte pas plusieurs fois le meme nom.
J'ai essayer avec DISTINCT NOM, PRENOM,TITRE, mais d'apres ce que j'ai pu comprendre DISTCINCT prend les 3 champs en conditions et non 1 seul !! DISTINCT(NOM), PRENOM,TITRE pareil.
Quelqu'un sait il comment les eviter

n°1207590
betsamee
Asterisk Zeperyl
Posté le 26-09-2005 à 14:17:57  profilanswer
 

ben si tu veux selectionner et les utilisateurs et les albums tu comprends qu'en toute logique c'est impossible d'eviter les doublons sur les utilisateurs
en revanche si tu ne tiens pas aux albums tu peux utiliser distinct sur les ustilisateurs
si tu veux les users et le nombe d'albums de chacun orientes toi vers un sum avec group by => tu n'auras la non plus plus de doublons

n°1207596
genzo22
Posté le 26-09-2005 à 14:25:30  profilanswer
 

donc il existe pas de commande SQL qui permette de die que s'il voit deux NOM pareil il n'en prend qu'un en compte??
car moi c'est seulement pour de l'affichage et j'ai vu group by mais ne peut pas l'appliquer dans mon cas

n°1207601
betsamee
Asterisk Zeperyl
Posté le 26-09-2005 à 14:27:57  profilanswer
 

genzo22 a écrit :

donc il existe pas de commande SQL qui permette de die que s'il voit deux NOM pareil il n'en prend qu'un en compte??
car moi c'est seulement pour de l'affichage et j'ai vu group by mais ne peut pas l'appliquer dans mon cas


et d'apres toi que fait il du reste de la ligne??(pour un meme nom plusieurs albums differents)

n°1207626
genzo22
Posté le 26-09-2005 à 14:49:14  profilanswer
 

j'ai trouvé mais pas en requete en php je verifie à l'affichage les doublon s'il y en a j'affiche pas le doublons tout simplement et voila :)

n°1207629
betsamee
Asterisk Zeperyl
Posté le 26-09-2005 à 14:50:55  profilanswer
 

serieusement je te conseilles de lire un petit tuto d'sql
il est pas logique d'avoir a refiltrer dans ton code des donnees que du extrait via sql

mood
Publicité
Posté le 26-09-2005 à 14:50:55  profilanswer
 

n°1207635
backdafuck​up
Back to da old skool
Posté le 26-09-2005 à 14:54:30  profilanswer
 

tu utilises mysql ?
 
Parce qu'avec sql server (ce que j'utilise, mais j'imagine qu'avec oracle c'est pareil), le distinct ne porte que sur une colonne, mais il faut bien écrire ta requête...
 
Par contre, comme betsamee l'a dit, le group by est une excellente solution, et le mieux, c'est un tuto sql...

n°1207659
genzo22
Posté le 26-09-2005 à 15:12:38  profilanswer
 

je sais que c'est pas logique et comme je l'ai dis je ne peux pas faire un group by, sauf si l'on est pas obliger de faire un calcul avant.
et la apparement il ne porte pas seulement sur une colonne mais sur tout les champs du select

n°1207675
omega2
Posté le 26-09-2005 à 15:23:01  profilanswer
 

genzo22 a écrit :

je sais que c'est pas logique et comme je l'ai dis je ne peux pas faire un group by, sauf si l'on est pas obliger de faire un calcul avant.
et la apparement il ne porte pas seulement sur une colonne mais sur tout les champs du select

:ouch:  :ouch:  :ouch: C'est quoi cette base de donnée merdique qui demande une colone calculé pour faire un group by? :o

n°1207691
genzo22
Posté le 26-09-2005 à 15:36:49  profilanswer
 

ah mais non pas du tout ce n'est pas mon cas !!
mais le group by s'associe bien avec un calcul ou autre tel sum ou max ...non ???

n°1207708
omega2
Posté le 26-09-2005 à 15:49:02  profilanswer
 

c'est obligatoire pour faire un sum, max et autres s'il y a d'autres colones que celle qu'est calculé.
Mais ca peut aussi être utilisé sans ces colones là à condition d'avoir les même colones dans le group by et dans le résultat.

n°1207780
genzo22
Posté le 26-09-2005 à 16:31:59  profilanswer
 

mais moi justement j'ai pas besoin de faire de calcul

n°1207808
omega2
Posté le 26-09-2005 à 16:51:10  profilanswer
 

Citation :

Mais ca peut aussi être utilisé sans ces colones là à condition d'avoir les même colones dans le group by et dans le résultat.


Trad : les colones de calcul ne sont pas obliguatoire.

n°1208793
genzo22
Posté le 27-09-2005 à 15:59:28  profilanswer
 

peut tu me faire voir le code de comment cela fonctinne alors parce que je vois pas trop

n°1208819
omega2
Posté le 27-09-2005 à 16:10:13  profilanswer
 

exemple fictif (quoi que)

Citation :

select nom, prenom from clients group by nom,prenom

n°1208859
genzo22
Posté le 27-09-2005 à 16:31:01  profilanswer
 

euh oui mais ca , ca m'évite d'avoir des doublons ??
parce que j'ai essayer mais il me mettait deux fois le nom quand même !

n°1208886
omega2
Posté le 27-09-2005 à 16:38:52  profilanswer
 

si tu veux une seule fois le nom, il faut rien demander d'autre que le nom, sinon comment veux tu qu'il sache quelle donnée des autres colone il doit choisir quand il y en a plusieurs de disponibles?
Et si c'est un probléme de majuscule ou d'espaces en début ou en fin, ben il faut utiliser les fonctions de la base de donnée qui correspondent.

mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Moteur multicritere

 

Sujets relatifs
Moteur Physique 2D ( 2D Physical Engine) – Besoin d’informationsProgrammation graphique : design d'un moteur de terrain en voxel
[C++] Programmer un "moteur de recherche" ?moteur de recherche sous forme de menu déroulant
[Resolu]Moteur de recherche basiqueConnaissez vous un site pour tester son site avec le moteur IE ?
Mon moteur de recherche par en sucetteMoteur de recherche Google dans MSN toolbar ?
probleme moteur de recherche phpmoteur de recherche multicritére ?
Plus de sujets relatifs à : Moteur multicritere


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR