Pb de version MYSQL

Répondre
manu56
le 02/01/2006 à 22:39
manu56
Bonne année a tous d'abord :)
J'ai une petite question. En local cette requete tourne correctement mais pas chez mon herbergeur :
SELECT DISTINCT login FROM `amis`,`user`
WHERE amis.user_id=1
AND user.id=amis.ami_id
AND amis.ami_id NOT IN
(SELECT id_user FROM `live_connectes` )
ORDER BY login

Ma version mysql en local est 4.1.9 alors que mon hebergeur est en 4.0.25

Visiblement ca vient de la version mysql inférieur de mon hébergeur. Mais que faut il changer dans cette requete pour que ca tourne sous la version 4.0.25?

MErci
LA GLOBULE
le 03/01/2006 à 09:55
LA GLOBULE
Il faut que tu fasses une jointure de type LEFT JOIN avec un IS NULL pour les id des membres connectés.

Pour les left join, tu peux regarder ce tuto.
manu56
le 12/01/2006 à 01:06
manu56
Salut,
Merci je m'en suis finalement sortis :)
Juste un dernier petit souci :

SELECT DISTINCT login FROM `amis`,`user` LEFT JOIN `live_connectes` USING (id_user) WHERE nb_connectes.id_user IS NULL AND amis.user_id=1 AND user.id=amis.ami_id ORDER BY login


Donc il y a bien amis.id_user, live_connectes.id_suer mais il me renvoie comme erreur qu'il ne trouve pas user.id_user (ce qui est normal puisque dans la table user c'est id)

Je voudrais savoir comment changer user.id en user.id_user dans ma requete (j'ai essayé dans le SELECT user.id as id_user mais j'ai tjr la meme erreur...)

Merci :)
zebden
le 12/01/2006 à 13:59
zebden
Luuu,

LEFT JOIN `live_connectes` USING (id_user) à remplacer par

LEFT JOIN `live_connectes` ON (`table1`.`id_user` = `table2`.`id`)
zebdinou pour les intimes / Blog : http://www.zebden.fr
LupusMic
le 16/01/2006 à 00:46
LupusMic
C'est pour utiliser la relation clé étrangère de la table de gauche vers la clé primaire de la table de droite.

Bien sûr, ça ne marche que si les clés étrangères sont supportées par le moteur de table utilisé.
Développeur récurrent, procédural et relationnel. Caustique soupe-au-lait.
Répondre

Ecrire un message

Votre message vient d'être créé avec succès.
LoadingChargement en cours