Précédent   Forum des professionnels en informatique > Bases de données > MySQL > Requêtes
Requêtes Forum d'entraide sur les requêtes MySQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 22/08/2011, 17h13   #1
Invité de passage
 
Homme
Développeur Web
Inscription : avril 2009
Messages : 16
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : avril 2009
Messages : 16
Points : 3
Points : 3
Par défaut Jointure sans résultat sur mutualisé

Bonjour a tous,

J'ai la requête suivante qui fonctionne sans broncher sur mon local mais qui me retourne NULL dans la colonne Designation chez mon hébergeur :

Code :
1
2
3
4
5
6
SELECT  s.reference, p.designation  
FROM stock s
LEFT JOIN produit p ON p.id LIKE s.reference 
WHERE s.reference = "001225"
AND s.entrepot = "2"
LIMIT 0,30
Le serveur Mutualisé :
Citation:
Généré par: phpMyAdmin 3.3.10 / MySQL 5.1.41-3ubuntu12.10
Mon local :
Citation:
Généré par: phpMyAdmin 3.3.9 / MySQL 5.5.8-log
Merci par avance pour vos précieuses lumières
Sof34 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/08/2011, 17h37   #2
ced
Rédacteur/Modérateur

 
Avatar de ced
 
Homme Cédric Duprez
Inscription : avril 2002
Messages : 3 823
Détails du profil
Informations personnelles :
Nom : Homme Cédric Duprez
Âge : 36
Localisation : France, Loiret (Centre)

Informations professionnelles :
Secteur : Agroalimentaire - Agriculture

Informations forums :
Inscription : avril 2002
Messages : 3 823
Points : 6 437
Points : 6 437
Bonjour,

On peut voir la structure des tables sur chaque serveur, et notamment le type des colonnes en question ?
En faisant, par exemple, un SHOW CREATE TABLE nomtable;.
__________________
Rédacteur / Modérateur SGBD
Mes tutoriels et la FAQ MySQL

----------------------------------------------------
Pensez aux balises code et au tag
Je ne réponds pas aux questions techniques par message privé, les forums sont là pour ça
ced est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/08/2011, 18h12   #3
Invité de passage
 
Homme
Développeur Web
Inscription : avril 2009
Messages : 16
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : avril 2009
Messages : 16
Points : 3
Points : 3
Merci de ta réponse CED et oui bien sur avec plaisir :


Pour la table STOCK :

Réponse du serveur mutualisé :
Citation:
CREATE TABLE `stock` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`reference` text,
`entrepot` int(1) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=2145 DEFAULT CHARSET=utf8
Mon local :
Citation:
CREATE TABLE `stock` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`reference` text,
`entrepot` int(1) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=2109 DEFAULT CHARSET=utf8

Pour la table PRODUITS :


Réponse du serveur mutualisé :
Citation:
CREATE TABLE `produit` (
`id` varchar(15) COLLATE latin1_general_ci NOT NULL,
`designation` text COLLATE latin1_general_ci NOT NULL,
`tarif_base_HT` float NOT NULL,
PRIMARY KEY (`id`),
FULLTEXT KEY `designation` (`designation`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci
Mon local :
Citation:
CREATE TABLE `produit` (
`id` varchar(15) COLLATE latin1_general_ci NOT NULL,
`designation` text COLLATE latin1_general_ci NOT NULL,
`tarif_base_HT` float NOT NULL,
PRIMARY KEY (`id`),
FULLTEXT KEY `designation` (`designation`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci
Voila après nettoyage du superflu ce qui m'est retourné. Je pense qu'il y a un pb de compatibilité mais ce n'est que mon humble avis.
Sof34 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/08/2011, 08h51   #4
ced
Rédacteur/Modérateur

 
Avatar de ced
 
Homme Cédric Duprez
Inscription : avril 2002
Messages : 3 823
Détails du profil
Informations personnelles :
Nom : Homme Cédric Duprez
Âge : 36
Localisation : France, Loiret (Centre)

Informations professionnelles :
Secteur : Agroalimentaire - Agriculture

Informations forums :
Inscription : avril 2002
Messages : 3 823
Points : 6 437
Points : 6 437
C'est curieux , d'autant plus que la colonne designation est NOT NULL.
Dans la requête, commence par remplacer les guillemets par des simples quotes (').
Mais je doute que ça résolve le problème...
__________________
Rédacteur / Modérateur SGBD
Mes tutoriels et la FAQ MySQL

----------------------------------------------------
Pensez aux balises code et au tag
Je ne réponds pas aux questions techniques par message privé, les forums sont là pour ça
ced est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/08/2011, 11h39   #5
Membre Expert
 
Avatar de Yanika_bzh
 
Homme Yannick
Ingénieur Etudes & Developpements
Inscription : février 2006
Messages : 1 125
Détails du profil
Informations personnelles :
Nom : Homme Yannick
Localisation : France, Deux Sèvres (Poitou Charente)

Informations professionnelles :
Activité : Ingénieur Etudes & Developpements
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : février 2006
Messages : 1 125
Points : 1 670
Points : 1 670
Peut etre parce que

Code :
LEFT JOIN produit p ON p.id LIKE s.reference
n'est pas VRAI, d'ou la récupération d'une valeur nulle.
Verifier qu'il existe bien un produit en stock avec la référence demandée en table, ou alors probleme de collation.

Une condition de jointure avec un like, sur 2 colonnes de type différent avec des collations differentes, vous cherchez les ennuis !!
__________________
Dans la connaissance du monde, ceux qui ne savent rien en savent toujours autant que ceux qui n'en savent pas plus qu'eux. (Pierre Dac)
Yanika_bzh est déconnecté   Envoyer un message privé Réponse avec citation 10
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 09h48.


 
 
 
 
Partenaires

Hébergement Web