Hé les gars question rapide, j'utilise toujours la jointure gauche, mais quand je suis parti rejoindre deux fois, je reçois toujours des résultats amusants, généralement des doublons. Je travaille actuellement sur une requête qui Left joints deux fois pour récupérer les informations nécessaires nécessaires mais je me demandais s'il était possible de construire une autre instruction select alors je n'ai pas besoin de deux jointures gauche ou deux requêtes ou s'il y avait une meilleure façon . Par exemple, si je pouvais sélectionner topic.creator dans table.topic en premier quelque chose comme AS, alors je pourrais sélectionner cette variable dans les utilisateurs et à gauche joindre table.scrusersonline. Merci d'avance pour tout conseil.Besoin d'une alternative à deux jointures gauche
SELECT * FROM scrusersonline
LEFT JOIN users ON users.id = scrusersonline.id
LEFT JOIN topic ON users.username = topic.creator
WHERE scrusersonline.topic_id = '$topic_id'
Le point entier de cette requête est de vérifier si le topic.creator est en ligne en récupérant son nom table.topic et correspondant à sa carte d'identité dans table.users, puis de vérifier s'il est en table.scrusersonline. Il produit malheureusement des entrées en double et est donc inexact dans mon esprit.
Deux gauches font un droit. –
@Scarface, veuillez prendre soin de bien formater votre code. Cela permet aux autres de vous aider plus facilement. –
Veuillez donner un exemple des entrées en double. Il ne devrait pas y avoir plusieurs entrées sauf s'il y a vraiment plusieurs enregistrements. Utiliser distinct peut résoudre cela à moins que les enregistrements ne soient pas réellement dupliqués. – Don