我有一个mysql表,如下所示
id id_dosen id_dosen2 tetangga1 tetangga2
1 1 2 null null
2 2 3 null null
3 1 3 null null
4 4 5 null null
5 4 6 null null
6 6 null null null
我需要将第1行的id\u dosen和id\u dosen2与所有其他行的id\u dosen和id\u dosen2进行比较,并对第2行执行相同的操作,以此类推,给出一个示例,我需要知道第1行是否与其他行具有相同的值,如果触发了对tetangga1和tetangga2的更新,其中tetangga1和tetangga2中的值将是与当前行具有相同值的行的id,那么表将如下所示
id id_dosen id_dosen2 tetangga1 tetangga2
1 1 2 2 3
2 2 3 1 3
3 1 3 1 2
4 4 5 5 null
5 4 6 4 6
6 6 null 5 null
说明:行1的tetangga1列中将包含行2的id,因为行1的id\u dosen2与行2的id\u dosen具有相同的值。第1行的tetangga2列中将包含第3行的id,因为第1行的id\u dosen与第3行的id\u dosen具有相同的值
有人能帮我吗?
2条答案
按热度按时间js81xvg61#
在mysql中,这绝对不是一个容易解决的问题,但它是可行的。此查询(sqlfiddle)适用于您的示例数据:
cigdeys32#
我相信这一点以前已经得到了回答,但请尝试以下方法: