#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
столбца, затем выполнить aSELECT DISTINCT
для значения, а затем перечислить всеNumbers
Value
2. @TomKriek Возможно. не могли бы вы записать какой-нибудь код, чтобы лучше понять?
3. Снова читая ваш пост, я запутываюсь в том, что вы пытаетесь здесь сделать. Я не уверен, что мой комментарий все еще применим.
4. @TomKriek Какая часть не ясна? Я должен восстановить данные, как вы видите в первом абзаце, для каждого идентификатора в массиве. После этого я должен объединить все данные из разных идентификаторов так, как я написал во втором абзаце «n. 3 строки со значением 10 и числами [273154] [273155] [273159]»
5. @TomKriek в любом случае я думаю, что SELECT DISTINCT может выполнять часть wotk