Mysql - jointures impossibles - SQL/NoSQL - Programmation
Marsh Posté le 23-04-2004 à 08:46:17
et ca?
select * from client,ville where client.num_ville = ville.num_ville
Marsh Posté le 23-04-2004 à 09:15:25
merci urd, j'envoies la requête à ma copine et je te fais le feedback
Marsh Posté le 23-04-2004 à 09:38:00
essaye en mettant des alias sur tes noms de table:
"select * from client as t1 inner join ville as t2 on t1.num_ville = t2.num_ville"
[edit: j'ai rien dit après vérification dans la doc, ta requete doit marcher sans préciser d'alias]
Marsh Posté le 23-04-2004 à 09:51:01
bon bah non, la requête d'urd me gratifie d'un toujours aussi éloquent
"#1109 - Table inconnue 'client' dans on clause"
Marsh Posté le 23-04-2004 à 09:58:45
j'ai trouvé
faut mettre le nom des tables entre ``
Code :
|
Marsh Posté le 23-04-2004 à 10:32:36
moktar1er a écrit : j'ai trouvé
|
Marsh Posté le 23-04-2004 à 10:36:16
ouais à toi aussi ça fait ça?
le principal c'est que ça marche après tout...
mais si quelqu'un est capable de m'expliquer le pourquoi du comment je suis preneur...
mysql suxxor des plantigrades
Marsh Posté le 23-04-2004 à 12:31:19
ReplyMarsh Posté le 23-04-2004 à 12:34:22
the real moins moins a écrit : client est un mot reservé |
ah bon?
d'ou l'utilité de mettre un "t" devant les noms de tables quoi
Marsh Posté le 23-04-2004 à 12:52:05
non j'en sais rien en fait
et mettre un t devant les noms de tables euh bof
Marsh Posté le 23-04-2004 à 12:53:50
bon, d'apres les listes que je trouve, client n'est pas un mot reservé
Marsh Posté le 23-04-2004 à 12:55:34
euh curiosité
select * from client where client.num_ville = 1
et
select * from ville where ville.num_ville = 1
ça marche?
Marsh Posté le 23-04-2004 à 12:56:45
the real moins moins a écrit : non j'en sais rien en fait |
si t'as une meilleur solution je suis toute ouie
Marsh Posté le 23-04-2004 à 13:02:01
bah mettre des noms qui ont du sens
Marsh Posté le 23-04-2004 à 13:30:29
si tu fais des LEFT JOIN a la place des inner join le résultat est le même, je crois.
Pour les requetes imbriquées ça marche que depuis mysql 4.
Marsh Posté le 23-04-2004 à 14:14:47
the real moins moins a écrit : euh curiosité |
ça marche sur ville mais pas sur client
(#1109 - Table inconnue 'client' dans where clause)
Marsh Posté le 25-04-2004 à 21:25:27
et si tu fais "desc client" ça crache quoi?
Marsh Posté le 25-04-2004 à 21:49:57
the real moins moins a écrit : et si tu fais "desc client" ça crache quoi? |
ça marche
étonnant non?
bon, de toutes façons j'arrive à le faire marcher avec des `` mais bon, c'est space quand même
Marsh Posté le 26-04-2004 à 20:01:20
non mais ça marche, mais ça dit quoi?
Marsh Posté le 26-04-2004 à 20:25:03
bah avec les outils d'easyphp ça me décrit la table "client" telle qu'elle a été créé
Marsh Posté le 26-04-2004 à 20:33:21
en command line
copie-colle le "desc" des deux tables, chuis curieux
Marsh Posté le 26-04-2004 à 20:42:25
Citation : |
Marsh Posté le 27-04-2004 à 12:07:14
ReplyMarsh Posté le 27-04-2004 à 12:08:42
euh, jvoudrais pas trop m'avancer mais y'a pas de champ num_ville sur la table client donc je vois pas trop ce que tu esperais, dès le départ
Marsh Posté le 27-04-2004 à 12:17:42
the real moins moins a écrit : euh, jvoudrais pas trop m'avancer mais y'a pas de champ num_ville sur la table client donc je vois pas trop ce que tu esperais, dès le départ |
entre le début du topic et maintenant le champ est passé de "num_ville" à "num_ville_client"...
et le fait est que les même manips avec ces noms là donnent les mêmes résultats
edit: d'ailleurs, si rajouter des `` autour des noms de table résoud le problème, ça prouve bien que ça ne vient pas des noms des champs
Marsh Posté le 27-04-2004 à 12:32:02
certes
enfin ça fait vraiment penser à un problème de mot reservé cette histoire. l'ennui c'est que "client" ne se trouve pas ds les listes de mots reservés que j'ai trouvé
Marsh Posté le 27-04-2004 à 14:02:13
j'ai pensé comme toi au départ...
ce qui est marrant, c'est que client tout seul ça semble aller, mais ça ne passe plus dès qu'on utilise une autre table avec
Marsh Posté le 27-04-2004 à 14:53:01
moktar1er a écrit : bah avec les outils d'easyphp ça me décrit la table "client" telle qu'elle a été créé |
ma signature
Marsh Posté le 27-04-2004 à 15:39:51
drasche a écrit : ma signature |
euh... je suis d'accord avec toi hein, ici on touche pas à ça...
mais bon, ils demandent à des étudiants de formation bio, à faire 1 projet de gestion de BD, avec html, php et tout le toutim, alors ils vont pas non plus leur dire de télécharger les sources, les compiler, les configurer machin tout ça
Marsh Posté le 27-04-2004 à 15:48:32
mais on compile pas les sources sous Windows, ça va pas non?
Marsh Posté le 27-04-2004 à 15:56:58
ouais mais bon... compiler du VB, c'est à la portée d'un enfant de 5 ans...
je connais la sortie
Marsh Posté le 23-04-2004 à 08:42:59
bonjour les progueux fous des technologies ouebe, j'ai un problème avec le projet de ma copine (mysql):
"select * from client" ça marche
"select * from ville" ça marche
"select * from client inner join ville on client.num_ville = ville.num_ville" -> erreur (unknown table client)
ça vous dis quelque chose?
Il en va de même quand je fais
"select * from client where client.num_ville in (select ville.num_ville from ville)"