MySQL / PHP — условный вложенный рекурсивный SQL-запрос (этот сложный)

#php #mysql #nested #recursive-query

#php #mysql #вложенный #рекурсивный запрос

Вопрос:

Хорошо, ребята, этот сложный (для меня). Вот что я пытаюсь сделать. У меня есть таблица SQL, структурированная следующим образом:

  ----------- --------------- -------- -------- 
| IDvoucher | IDprestazione | Number | Value  |
 ----------- --------------- -------- -------- 
|       221 |            34 | 273154 |     10 |
|       222 |            35 | 273155 |     10 |
|       223 |            34 | 273161 |      5 |
|       224 |            34 | 273162 |     15 |
|       225 |            35 | 273169 |     10 |
|       226 |            34 | 273170 |     10 |
 ----------- --------------- -------- -------- 
  

Я получил несколько идентификаторов из формы. Для каждого IDprestazione я должен восстановить количество строк и чисел, значение которых одинаково, сгруппированных по значению (так, если IDprestazione равно 34, n. 2 строка со значением 10, в которой число равно [273154] [273170] — 1 строка со значением 5, в которой число равно [273161] -1 строка со значением 15, в которой число равно [273162]). Это была легкая часть.

Сделав это, я должен распечатать все восстановленные данные без дискриминации IDprestazione. Итак, если запрос для первого IDprestazione имел в результате 1 строку со значением 10 и номером 273154, а второй для второго IDprestazione имел в результате 2 строки со значением 10 и номером [273155] [273159], мне придется напечатать «n. 3 строки со значением 10 иЧисла [273154] [273155] [273159]«.

Я пробовал много разных способов, но безрезультатно, но я знаю, что вы, ребята, можете это сделать, так как вы помогали мне много раз. Заранее спасибо.

Комментарии:

1. Не думайте, что это рекурсивный вопрос. Вы можете выполнить a SELECT DISTINCT для IDprestazione столбца, затем выполнить a SELECT DISTINCT для значения, а затем перечислить все Numbers Value

2. @TomKriek Возможно. не могли бы вы записать какой-нибудь код, чтобы лучше понять?

3. Снова читая ваш пост, я запутываюсь в том, что вы пытаетесь здесь сделать. Я не уверен, что мой комментарий все еще применим.

4. @TomKriek Какая часть не ясна? Я должен восстановить данные, как вы видите в первом абзаце, для каждого идентификатора в массиве. После этого я должен объединить все данные из разных идентификаторов так, как я написал во втором абзаце «n. 3 строки со значением 10 и числами [273154] [273155] [273159]»

5. @TomKriek в любом случае я думаю, что SELECT DISTINCT может выполнять часть wotk