Je voudrais reformater une table MySql pour l'utiliser dans un programme de mappage de nœud de réseau. Le format original est:Requête MySql pour obtenir toutes les combinaisons d'éléments dans le même champ de table
| ID | story | org | scribe |
et je voudrais tirer tous les noms org en deux tables de sortie comme ceci:
| org1 | org2 | scribe | weight of connection |
org1 et org2 les deux viennent du même champ dans la table d'origine, et sont liés les uns aux autres en partageant un ou plusieurs scribes. Tous les scribes ont des identifiants uniques. Et bien sûr, je ne veux pas d'entrées en double. Ce que je fais CAN CAN jusqu'à présent, c'est de tirer tous les orgs qui sont connectés à une organisation dans la liste en faisant une recherche '% text%' pour l'organisation, puis en excluant cette organisation de la sortie, comme :
SELECT 'tabitha' as org1,
org as org2,
teller as scribe_id,
count(teller) as weight
FROM `stories`
WHERE teller in
(
(SELECT
teller
FROM `stories`
WHERE org like '%tabitha%'
group by teller)
)
and org not like '%tabitha%'
group by teller, org
donc je me sens comme il y a un truc sur l'auto-joint ou le cas où cela pourrait fonctionner, mais je n'ai encore rien trouvé.
Merci pour une réponse qui a fonctionné, avec un peu de peaufinage. –