2017-05-15 1 views
0

Je souhaite joindre deux tables/bases de données en fonction de certaines conditions.Joindre des colonnes lorsqu'une correspondance

Par exemple, dans une table, j'ai une colonne name

Dans l'autre table, j'ai les colonnes name1, name2, name3

Comment puis-je joindre les tables sur les colonnes, lorsque l'un du nom colonnes dans la deuxième table correspond, et utiliser les colonnes dans l'ordre de namename2name3 pour rejoindre lorsque possible?

Répondre

2

Vous pouvez simplement utiliser join qui prend une expression que l'algorithme conditionnel et utiliser le or (||)

df1.join(df2, $"name" === $"name1" || $"name" === $"name2" || $"name" === $"name3")