8
votes

Obtenir tous les champs d'une table à l'aide d'une jointure intérieure?

Je veux obtenir tous les champs d'une table et utiliser distincts avec la deuxième table.

J'ai ceci: xxx

mais je reçois cette erreur:

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

aucune idée?


0 commentaires

4 Réponses :


2
votes
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

1 commentaires

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 '



8
votes

Au lieu de rejoindre Visit_Log, vous pouvez construire une table dérivée contenant uniquement les valeurs blog_id distinctes. xxx


1 commentaires

Ive a modifié un peu votre code et cela fonctionne pour mes besoins. Merci!



0
votes

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)


1 commentaires

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



0
votes
select * from visit_log v where v.blog_id in/= (select s.blog_id from stats s)

1 commentaires

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