Je veux obtenir tous les champs d'une table et utiliser distincts avec la deuxième table.
J'ai ceci: p> mais je reçois cette erreur: p> Vous avez une erreur dans votre syntaxe SQL; Vérifiez le manuel qui correspond à votre version de Server MySQL pour la Syntaxe droite à utiliser à proximité 'distincte (visit_log.blog_id) comme offre à partir de statistiques interne rejoindre visit_log sur statists.blog' à la ligne 1 p>
blockQuote> aucune idée? p> p>
4 Réponses :
SELECT stats.*, dr.blog_id FROM stats INNER JOIN (SELECT DISTINCT(visit_log.blog_id) AS bid FROM visit_log) AS dr ON stats.blog_id = dr.blog_id
Merci pour votre réponse, mais je reçois: vous avez une erreur dans votre syntaxe SQL; Vérifiez le manuel qui correspond à votre version de Server MySQL pour la syntaxe droite à utiliser à proximité »(Sélectionnez Distinct (visit_log.blog_id) comme offre à partir de visit_log) Dr des statistiques Inner J '
Au lieu de rejoindre Visit_Log, vous pouvez construire une table dérivée contenant uniquement les valeurs blog_id distinctes.
Ive a modifié un peu votre code et cela fonctionne pour mes besoins. Merci!
Vous sélectionnez seulement blog_id à partir de Visit_Log, quelle est la colonne que vous joignez. Donc, votre requête est très utile:
select * from stats s where exists (select null from visit_log v where s.blog_id = v.blog_id)
Votre requête fonctionne, mais sélectionnez uniquement les colonnes de la table "Statistiques", je souhaite également sélectionner les colonnes de visit_log. Ive essayé avec: .... Sélectionnez * à partir de visit_log v où s.blog_id = v.blog_id mais cela ne fonctionne pas
select * from visit_log v where v.blog_id in/= (select s.blog_id from stats s)
Une petite explication de la façon dont cela fonctionne / pourquoi cela fonctionne et le dormant de marquage rendrait cette réponse plus précieuse. Voir Ce pour des conseils sur la rédaction de réponses