Initial data commit
This commit is contained in:
parent
72d218235f
commit
f23f22d71c
199087 changed files with 3378941 additions and 0 deletions
23
Task/Hash-join/F-Sharp/hash-join.fs
Normal file
23
Task/Hash-join/F-Sharp/hash-join.fs
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
[<EntryPoint>]
|
||||
let main argv =
|
||||
let table1 = [27, "Jonah";
|
||||
18, "Alan";
|
||||
28, "Glory";
|
||||
18, "Popeye";
|
||||
28, "Alan"]
|
||||
let table2 = ["Jonah", "Whales";
|
||||
"Jonah", "Spiders";
|
||||
"Alan", "Ghosts";
|
||||
"Alan", "Zombies";
|
||||
"Glory", "Buffy"]
|
||||
let hash = Seq.groupBy (fun r -> snd r) table1
|
||||
table2
|
||||
|> Seq.collect (fun r ->
|
||||
hash
|
||||
|> Seq.collect (fun kv ->
|
||||
if (fst r) <> (fst kv) then []
|
||||
else (Seq.map (fun x -> (x, r)) (snd kv)) |> Seq.toList)
|
||||
)
|
||||
|> Seq.toList
|
||||
|> printfn "%A"
|
||||
0
|
||||
Loading…
Add table
Add a link
Reference in a new issue