所以我不是很擅长复杂的 MySQL 语句,所以我希望你们能帮助我。
假设我有四个表,MainTable、AttrTable、NameTable 和 ValueTable。
MainTable 如下所示:
| id | title | category |
.........................
| 1 | First | Cat1 |
.........................
| 2 | Second| Cat2 |
.........................
| 3 | Third | Cat3 |
AttrTable 看起来像这样:
| id | mainId | nameId | valueId |
..................................
| 1 | 1 | 1 | 2 |
..................................
| 2 | 1 | 2 | 1 |
..................................
| 3 | 2 | 1 | 3 |
..................................
| 4 | 3 | 3 | 2 |
..................................
| 1 | 3 | 1 | 1 |
NameTable 和 ValueTable 分别如下所示:
| id | title | | id | title |
.............. ..............
| 1 | foo | | 1 | bar |
.............. ..............
| 2 | john | | 2 | smith |
.............. ..............
| 3 | dink | | 3 | fink |
所以我想编写一个语句,将与 MainTable 的每一行关联的所有数据组合到自己的行中。例如:我想要一个可以给我回馈的声明:
| 1 | First | Cat1 | foo | smith | john | bar |
| 2 | Second| Cat2 | foo | fink |
etc...
那可能吗?我什至会满足于:
| 1 | First | Cat1 | foo | smith |
| 1 | First | Cat1 | john | bar |
| 2 | Second | Cat2 | foo | fink |
etc...
希望这一切都有意义。提前感谢您的帮助。