【发布时间】:2018-01-05 03:00:57
【问题描述】:
我正在尝试在数据库中组合值,以便那些不是软件开发人员但想不出解决方案的人更容易。下面是数据库的外观示例。当技术人员更改公司的现有值(例如城市名称)时,它会创建 3 个如下所示的条目。
我想要做的是将它连接成类似"{user} updated {old city} to {new city}" 的东西。我想将它放在一个名为“新值”标志的行的新列中,但不想触及没有“旧值”或“新值”的行,因为有许多不同的标志用于他们可能进行的更改类型。我不确定如何组合这样的行。
标记为"num" 的部分特定于所做的每项更改,并且只有像示例中的组这样的组将具有相同的值,所以我想也许我可以以某种方式使用 group by 来清除任何更改只需要一行,因为我只寻找具有如下格式的块。
_ id_|_CompName |_val_flag | value _|num|user|______updated______
1224 |Test company|old_value |Old City|594|user|2017-07-28 15:42:58.117
1225 |Test company|new_value |New City|594|user|2017-07-28 15:42:58.117
1226 |Test company|rec_value |New City|594|user|2017-07-28 15:42:58.117
【问题讨论】:
-
什么是数据库?版本 #?另外,“REC_VALUE”记录的意义是什么?我们应该考虑一下吗?看起来像“GROUP BY” USER 是一个开始的地方。是“CITY”列名吗?那么,NEW CITY 和 OLD CITY 有内在联系吗?如果是这样,需要根据USER和VALUE(后半部分,减去NEW/OLD)编写GROUP BY。
标签: sql concatenation