Показывать повторяющиеся значения только один раз и только то, что меняется в отдельном списке под ним - PullRequest
0 голосов
/ 18 февраля 2020

Запрос с выбором, отличным от нескольких столбцов, объединений и оператора where, возвращает записи, подобные следующим:

ID  title   Date    other field
1   text 1  01-Jan-20   another value
1   text 1  07-Mar-20   another value
1   text 1  20-Sep-20   another value
1   text 1  30-Dec-20   another value
2   text 2  02-Feb-20   something else
2   text 2  12-Mar-20   something else
2   text 2  15-May-20   something else
2   text 2  17-Jul-20   something else

Как отобразить все повторяющиеся значения один раз и только даты, которые меняются следующим образом :

1, text, another value
01-Jan-20
07-Mar-20
20-Sep-20
30-Dec-20

1, text, something else
02-Feb-20
12-Mar-20
15-May-20
17-Jul-20

Должен ли я изменить запрос oracle или сделать что-то с картой, уменьшить массив результатов на языке, который я использую? Любой пример?

1 Ответ

1 голос
/ 18 февраля 2020

Вот пример

let myObj = {};
`1   text 1  01-Jan-20   another value
1   text 1  07-Mar-20   another value
1   text 1  20-Sep-20   another value
1   text 1  30-Dec-20   another value
2   text 2  02-Feb-20   something else
2   text 2  12-Mar-20   something else
2   text 2  15-May-20   something else
2   text 2  17-Jul-20   something else`.split(/\n/)
.forEach(line => {
  let [_, num, title, date, val] = line.match(/(\d+)\s+(.*?)  (.*?)   (.*)/)
  // console.log("n",num,"t",title,"d", date, "v",val)
  if (!myObj[title]) myObj[title] = { num:num, val:val,dates:[] }
  myObj[title].dates.push(date)
})

console.log(myObj)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...