Casse tête MySQL

Consultez la formation au référencement naturel Google de WebRankInfo / Ranking Metrics

dop20vt
WRInaute impliqué
WRInaute impliqué
 
Messages: 436
Inscription: Sam Juin 23, 2007 19:26

Casse tête MySQL

Message le Mar Mar 04, 2008 17:10

Bonjour,

J'ai 3 tables "commande" "stock" "occasion" contenant chacune les mêmes champs "marque" "modele" "version".

Chaque table peut contenir des enregistrements ayant la même "marque". Certaines tables peuvent contenir plus de marques différentes que d'autres.

Je veux obtenir toutes les marques DISTINCTES contenues dans l'ensemble de ces 3 tables.

Vous avez 2H !! A vos claviers :)


julienr
WRInaute passionné
WRInaute passionné
 
Messages: 866
Inscription: Mar Aoû 05, 2003 14:49

Message le Mar Mar 04, 2008 17:55

facile :

Code: Tout sélectionner
  SELECT `marque` FROM `occasion` GROUP BY `marque`
UNION
  SELECT `marque` FROM `commande` GROUP BY `marque`
UNION
  SELECT `marque` FROM `stock` GROUP BY `marque`

j'ai bon ?

:-)


webmasterlamogere
WRInaute accro
WRInaute accro
 
Messages: 1874
Inscription: Dim Déc 17, 2006 21:08

Message le Mar Mar 04, 2008 17:55

tout simplement avec
Code: Tout sélectionner
SELECT DISTINCT marque FROM `commande`, `stock`, `occasion`

dop20vt
WRInaute impliqué
WRInaute impliqué
 
Messages: 436
Inscription: Sam Juin 23, 2007 19:26

Message le Mar Mar 04, 2008 19:11

julienr : clap clap !! merci :)

webmasterlamogere : t'es nul :P mais merci qd meme :)


EDIT : question annexe, avec `marque` ou marque ca fonctionne ! Quel est l'intérêt de mettre `marque` ?


julienr
WRInaute passionné
WRInaute passionné
 
Messages: 866
Inscription: Mar Aoû 05, 2003 14:49

Message le Mar Mar 04, 2008 19:24

on le dit souvent ici les ` protègent des noms qui sont aussi des mots réservé de mysql
marque fonctionne avec ou sans
mais par exemple
date ne fonctionnera qu'avec


Leonick
WRInaute accro
WRInaute accro
 
Messages: 12351
Inscription: Dim Aoû 08, 2004 20:24

Message le Mar Mar 04, 2008 20:12

perso, je n'aurais fait qu'une seule table, en ajoutant un champ état (stock, commande et occasion)

dop20vt
WRInaute impliqué
WRInaute impliqué
 
Messages: 436
Inscription: Sam Juin 23, 2007 19:26

Message le Mar Mar 04, 2008 21:22

julienr a écrit:on le dit souvent ici les ` protègent des noms qui sont aussi des mots réservé de mysql
marque fonctionne avec ou sans
mais par exemple
date ne fonctionnera qu'avec


Merci pour l'info :wink:

dop20vt
WRInaute impliqué
WRInaute impliqué
 
Messages: 436
Inscription: Sam Juin 23, 2007 19:26

Message le Mar Mar 04, 2008 21:25

Leonick a écrit:perso, je n'aurais fait qu'une seule table, en ajoutant un champ état (stock, commande et occasion)


Effectivement mais c'est déjà des belles tables de plus de 10 000 entrées et ce n'est que le début !! De plus le site est bien séparé en 3 catégories !! Cette requête la est pour faire une recherche globale !!

petit-ourson
WRInaute passionné
WRInaute passionné
 
Messages: 843
Inscription: Lun Mai 31, 2004 15:19

Message le Mar Mar 04, 2008 21:40

Quelle modélisation...


Marie-Aude
WRInaute accro
WRInaute accro
 
Messages: 4939
Inscription: Lun Juin 05, 2006 14:15

Message le Dim Mar 09, 2008 22:29

Raison de plus pour faire une structure de table correcte.
Les informations uniques ne se dupliquent pas dans les tables, ton identifiant de base est la "version" qui appelle un modèle qui appelle une marque.

Avec un id unique pour cette "version de modèle de marque" dans tes trois tables.

Quant tu auras 20.000 enregistrements incohérents, tu auras plus de difficultés à revenir en arrière


Formation recommandée sur ce thème :

Formation Référencement naturel Google : apprenez une méthode efficace pour optimiser à fond le référencement naturel dans Google de façon durable... Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Yahoo [Bot] et 0 invités