Pb de version MYSQL
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
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.
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 :)
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
ok c'est bon merci. A quoi sert USING au juste?
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.
Ecrire un message
Votre message vient d'être créé avec succès.
BB-Code
Pour insérer une URL clickable
Pour insérer une adresse E-mail
Pour annoter
Pour écrire du code
Pour faire un lien vers une fonction PHP
Pour écrire du texte préformaté
Pour écrire du texte en gras
Pour écrire du texte en italique
Pour écrire du texte souligné
Pour écrire du texte barré
Pour écrire un titre principal
Pour écrire un titre secondaire
Pour écrire une liste
Smiley
:bond:
:boxe:
:bsmile:
:bump:
:clap:
:coeur:
:cool:
:cry:
:eek:
:evil:
:fleur:
:fou2:
:fou:
:grin:
:grrr:
:hammer:
:hippy:
:hum:
:idee2:
:idee:
:kdo:
:king:
:ko:
:lol:
:love2:
:love:
:mad:
:maitre:
:noel:
:oops:
:raa:
:razz:
:roll:
:sad:
:skull:
:smile:
:timide:
:trink:
:vice:
:vomi:
:wink:
:zzz: