Outline: J'ai deux tables - une avec un dictionnaire d'auteurs et de livres, et une autre avec quelques comparaisons entre des livres d'auteurs différents.Manipulation de données avec MySQL - joindre et compter
Book_id(PK) Author Book_id_1(CPK) Book_id_2(CPK) Book_similarity
===================== ==================================================
1 Amy 1 3 High
2 Amy 1 4 Low
3 Ben 2 3 High
4 Ben 2 4 High
3 1 High
3 2 High
4 1 Low
4 2 High
Problème: Je suis en train de faire une requête où il retourne le tableau ci-dessous, en comptant le nombre de similitudes « haut » et « bas » trouvés - cette trace les livres aux auteurs qui ont écrit leur.
Author_1(CPK) Author_2(CPK) Num_high Num_low
====================================================
Amy Ben 3 1
Ben Amy 3 1
Je sais qu'il ya un chevauchement dans la table finale, mais il est la seule façon que je peux le faire pour qu'il y ait une colonne qui est consultable. Je suppose que je dois utiliser deux requêtes pour générer le résultat et une jointure quelque part, mais je suis encore assez nouveau pour MySQL.
NB: En utilisant python et MySQLdb, si cela va être utile. Sinon, je vais juste brancher la requête dans le cury cur.execute().
génie! Merci beaucoup. Je pense que 'a1' et' a2' devraient être 'b1' et' b2', btw. Désolé, la question était un peu floue. Cela vous dérange de donner une brève explication de ce que cette requête fait? – HMcG
Vous avez raison, j'ai corrigé. –
J'ai ajouté quelques explications. Je ne sais pas si c'est clair, mais la requête semble assez explicite, je ne sais pas quoi ajouter qui ne paraphraserait pas la requête (je sens que je l'ai déjà fait). –