我有一个表,有两列,像这样,图片是输入和输出:
说明输入:2栏是两个关系在一起的人。检查:a与b、c、d、h的关系输出:我想合并2列,列组id为auto和列关系
id group auto:我尝试了query:row\u number()over(order by[columna])n
关系:将所有人的关系分组在一起,并将他们分组为一个id组。检查人员a、b、c、d、h实现在一起,组id自动为1
我有个演示https://dbfiddle.uk/?rdbms=sqlserver_2019&fiddle=f81ff386b07589654ad133a8e4b30472
在我的查询中,首先我把数据转换成一列,然后我数字母,下一步我不知道查询。
我尝试了递归cte,但出现了错误(也许我对递归不太了解)
我想在sql查询中解决这个问题。
1条答案
按热度按时间htzpubme1#
可以使用递归cte为每个“列”值指定一个数字。首先在两个方向上创建边,然后跟随它们:
然后,您可以将其加入以分配组id:
这是一把小提琴。