Mysql - jointures impossibles

Mysql - jointures impossibles - SQL/NoSQL - Programmation

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)"

Reply

Marsh Posté le 23-04-2004 à 08:42:59   

Reply

Marsh Posté le 23-04-2004 à 08:46:17    

et ca?
select * from client,ville where client.num_ville = ville.num_ville


Message édité par urd-sama le 23-04-2004 à 08:46:34
Reply

Marsh Posté le 23-04-2004 à 09:15:25    

merci urd, j'envoies la requête à ma copine et je te fais le feedback ;)

Reply

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]


Message édité par anapajari le 23-04-2004 à 09:39:42
Reply

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"
[:sisicaivrai]

Reply

Marsh Posté le 23-04-2004 à 09:54:24    

Pb de version de MySQL ?

Reply

Marsh Posté le 23-04-2004 à 09:58:45    

j'ai trouvé [:youpi]
faut mettre le nom des tables entre `` [:dawa]
 

Code :
  1. SELECT * FROM `client` INNER JOIN `ville` ON `client`.num_ville = `ville`.num_ville


Reply

Marsh Posté le 23-04-2004 à 10:32:36    

moktar1er a écrit :

j'ai trouvé [:youpi]
faut mettre le nom des tables entre `` [:dawa]
 

Code :
  1. SELECT * FROM `client` INNER JOIN `ville` ON `client`.num_ville = `ville`.num_ville




[:wam]

Reply

Marsh Posté le 23-04-2004 à 10:36:16    


 
ouais à toi aussi ça fait ça? [:dawa]
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

Reply

Marsh Posté le 23-04-2004 à 12:31:19    

client est un mot reservé [:spamafote]


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
Reply

Marsh Posté le 23-04-2004 à 12:31:19   

Reply

Marsh Posté le 23-04-2004 à 12:34:22    

the real moins moins a écrit :

client est un mot reservé [:spamafote]


ah bon? [:mlc]
 
d'ou l'utilité de mettre un "t" devant les noms de tables quoi :/

Reply

Marsh Posté le 23-04-2004 à 12:52:05    

non j'en sais rien en fait :o
et mettre un t devant les noms de tables euh bof :o


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
Reply

Marsh Posté le 23-04-2004 à 12:53:50    

bon, d'apres les listes que je trouve, client n'est pas un mot reservé


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
Reply

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?


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
Reply

Marsh Posté le 23-04-2004 à 12:56:45    

the real moins moins a écrit :

non j'en sais rien en fait :o
et mettre un t devant les noms de tables euh bof :o


si t'as une meilleur solution je suis toute ouie  :)

Reply

Marsh Posté le 23-04-2004 à 13:02:01    

bah mettre des noms qui ont du sens [:spamafote]


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
Reply

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.


---------------
Posté depuis des chiottes, sales. Me gusta.
Reply

Marsh Posté le 23-04-2004 à 14:14:47    

the real moins moins a écrit :

euh curiosité
select * from client where client.num_ville = 1
et
select * from ville where ville.num_ville = 1
 
ça marche?


 
ça marche sur ville mais pas sur client [:dawa]
(#1109 - Table inconnue 'client' dans where clause)

Reply

Marsh Posté le 25-04-2004 à 21:25:27    

et si tu fais "desc client" ça crache quoi?


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
Reply

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 [:spamafote]
étonnant non? :D
 
bon, de toutes façons j'arrive à le faire marcher avec des `` mais bon, c'est space quand même

Reply

Marsh Posté le 26-04-2004 à 20:01:20    

non mais ça marche, mais ça dit quoi? :o


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
Reply

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éé [:spamafote]

Reply

Marsh Posté le 26-04-2004 à 20:33:21    

:pfff:
 
en command line :o
copie-colle le "desc" des deux tables, chuis curieux :o


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
Reply

Marsh Posté le 26-04-2004 à 20:42:25    

Citation :


mysql> desc client;
+------------------+-------------+------+-----+---------+----------------+
| Field            | Type        | Null | Key | Default | Extra          |
+------------------+-------------+------+-----+---------+----------------+
| num_client       | int(11)     |      | PRI | NULL    | auto_increment |
| nom_client       | varchar(50) | YES  |     | NULL    |                |
| prenom_client    | varchar(50) | YES  |     | NULL    |                |
| adresse_client   | varchar(50) | YES  |     | NULL    |                |
| email            | varchar(50) | YES  |     | NULL    |                |
| num_ville_client | int(11)     | YES  |     | NULL    |                |
+------------------+-------------+------+-----+---------+----------------+
 
mysql> desc ville;
+-------------+-------------+------+-----+---------+----------------+
| Field       | Type        | Null | Key | Default | Extra          |
+-------------+-------------+------+-----+---------+----------------+
| num_ville   | int(11)     |      | PRI | NULL    | auto_increment |
| nom_ville   | varchar(50) |      |     |         |                |
| code_postal | int(11)     |      |     | 0       |                |
+-------------+-------------+------+-----+---------+----------------+

Reply

Marsh Posté le 26-04-2004 à 20:42:43    

un pourri... chuis pas 1 roi du formatage :D

Reply

Marsh Posté le 27-04-2004 à 12:07:14    

fallait mettre [ fixed ] :D


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
Reply

Marsh 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 :??:


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
Reply

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


Message édité par Moktar1er le 27-04-2004 à 12:25:51
Reply

Marsh Posté le 27-04-2004 à 12:32:02    

certes :D
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é :o


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
Reply

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

Reply

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éé [:spamafote]


ma signature [:toad666]


Message édité par drasche le 27-04-2004 à 14:53:13

---------------
Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)
Reply

Marsh Posté le 27-04-2004 à 15:39:51    

drasche a écrit :

ma signature [:toad666]


 
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

Reply

Marsh Posté le 27-04-2004 à 15:48:32    

mais on compile pas les sources sous Windows, ça va pas non? :fouyaya: :D


---------------
Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)
Reply

Marsh Posté le 27-04-2004 à 15:56:01    

ouais c'est facile sous win, _même moi_ j'ai réussis [:slurrrp]

Reply

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
[:neowen]


---------------
Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)
Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed