我正在使用 10.4.13-MariaDB。我有一个父表和一个子表。
父表(任务)
id parent_id
4 # <- Main (parent theme) Level 2
5 4 <- child `discovered check` (level 2)
6 4 <- child `windmill` (level 2)
7 # <- Main (parent theme) Level 3
8 7 <- child `discovered check - level 3` (level 3)
9 7 <- child `windmill - level 3` (level 3)
10 # <- Main (parent theme) Level 1
11 10 <- child `discovered check - winning a piece` (level 1)
12 10 <- child `discovered check - mate in one` (level 1)
在界面中看起来像
And I have a child table (puzzles) - 谜题表 - 谜题只能属于儿童主题
id task_id
52 5 <- belongs to `discovered check` (level 2)
61 6 <- belongs to `windmill` (level 2)
25 6 <- belongs to `windmill` (level 2)
70 11 <- belongs to `discovered check - winning a piece` (level 1)
53 12 <- belongs to `discovered check - mate in 1` (level 1)
62 9 <- belongs to `windmill - level 3` (level 3)
27 9 <- belongs to `windmill - level 3` - (level 3)
72 8 <- belongs to `discovered check - level 3` - (level 3)
我想从每个级别获得一个随机拼图。如何编写正确的查询?
预期结果:
task_id id
5 52 <- random puzzle from level 2
11 70 <- random puzzle from level 1
8 72 <- random puzzle from level 3
我的小提琴:https ://dbfiddle.uk/?rdbms=mariadb_10.4&fiddle=7bed2a19a0f98abccbe06ba9e0ae358b