Requête très simple

Requête très simple - SQL/NoSQL - Programmation

Marsh Posté le 26-03-2009 à 18:57:38    

Bonjour,  
J'ai une requête très simple à faire et pourtant je n'y arrive pas, j'ai beau me baser sur un bouquin :love:
J'ai deux tables : "pages" et "users". Dans la table pages, le champs author_id correspond à l'id contenu dans la table users de l'auteur de la page. "name" est le nom du champs de la table users qui contient le nom.
Voici où j'en suis :

Code :
  1. SELECT pages.author_id, users.name
  2. FROM pages, users
  3. WHERE pages.id = {$this->id} AND users.id = pages.author_id


Aucune erreur d'après mysql mais aucun retour alors que l'ID que je fournis est correct :(
C'est sûrement très simple mais je ne comprends pas du tout le problème :(
Merci.

Reply

Marsh Posté le 26-03-2009 à 18:57:38   

Reply

Marsh Posté le 26-03-2009 à 19:05:17    

omg j'ai rien dit...
author_id vaut zéro donc çà ne peut pas marcher...
 [:prozac]

Reply

Marsh Posté le 27-03-2009 à 09:19:32    

En passant, utilise plutôt une jointure plutôt qu'une condition WHERE pour joindre tes deux tables.
 
Là, tu met WHERE matable.id = mon_autre_table.fk_id
Utilise plutôt FROM matable INNER JOIN mon_autre_table ON id=fk_id
 


---------------
Kao ..98 - Uplay (R6S) : kao98.7.62x39 - Origin (BF4, BF1) : kntkao98
Reply

Marsh Posté le 27-03-2009 à 13:26:26    

ok merci, je prends note ;)

Reply

Marsh Posté le 27-03-2009 à 17:43:39    

kao98 a écrit :

En passant, utilise plutôt une jointure plutôt qu'une condition WHERE pour joindre tes deux tables.


Pourquoi ?
Ca améliore les performances, ou c'est pour une autre raison ?

Reply

Marsh Posté le 27-03-2009 à 18:04:58    

Performances et lisibilité.


---------------
Kao ..98 - Uplay (R6S) : kao98.7.62x39 - Origin (BF4, BF1) : kntkao98
Reply

Marsh Posté le 27-03-2009 à 20:32:00    

Ca ne change rien au niveau des performances, faut arrêter avec ça ;-)

Reply

Sujets relatifs:

Leave a Replay

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