【发布时间】:2016-09-16 23:14:19
【问题描述】:
有一个这样的 Mysql 表 id 主键(idstudy、idarea 和 idcategory 是外键)
**** Table : Operations
id idstudy idarea idcategory content lang
1 22 11 3 content1EN EN
2 22 11 3 content1FR FR
3 22 11 3 Content2FR FR
4 22 11 3 Content2EN EN
5 35 10 5 Content5EN EN
6 35 10 5 Content5FR FR
7 35 23 12 Content5EN EN
8 35 23 12 Content5FR FR
我的目标:将语言组装到同一行(FR 和 EN)以得到一行加一列(例如 ContentEN)并删除 lang 列。
但我的问题是我的表不按顺序排列,我无法通过 id 进行识别,我只知道 idstudy idarea 和 idcategory 但它们都不是唯一的,有时我有 3 行相同,除了(id 和内容)
我有解决方案,但我不知道如何在 mysql 中编写它:是在一种语言中查找所有具有(相同 idstudy 相同 idarea 相同 idcategory )的记录,然后通过添加列来排序它们(第一个结果为 1,第一个结果为 2第二个...)
**** 表:每个语言中的组(idstudy、idarea、idcategory)顺序后的操作以及新列(顺序)
id idstudy idarea idcategory content lang order
1 22 11 3 content1EN EN 1
2 22 11 3 content1FR FR 1
3 22 11 3 Content2FR FR 2
4 22 11 3 Content2EN EN 1
5 35 10 5 Content5EN EN 1
6 35 10 5 Content5FR FR 1
7 35 23 12 Content5EN EN 1
8 35 23 12 Content5FR FR 1
我只需要这个结果,组装后我会用nodejs来做
注意:如果我的解释不太好,请见谅。
【问题讨论】:
-
你的例子的第四行不应该是
order=2?它具有相同的 ID 和相同的第一行语言 -
为什么
order=1是id==4? -
感谢您的注意,我用好表更新了我的问题。谢谢