#mysql
Вопрос:
У меня есть запрос, в последнем столбце которого отображается текущий итог
SET @runtot:=0;
SELECT
q1.REC_IDX , q1.PAL_IDX, q1.ORD,q1. REPL,
q1.LOCATION, q1.COUNT, q1.WEIGHT, q1.LOAD_OUT, q1.DOCK, q1.PULL_THRU, q1.LINE, q1.PRE_PAL, q1.QTY_REMAIN,q1. USED, q1.BULK_EST,
(@runtot := @runtot q1.COUNT) AS rt
FROM
(SELECT REC_IDX , PAL_IDX, ORD, REPL,
LOCATION, COUNT, WEIGHT, LOAD_OUT, DOCK, PULL_THRU, LINE, PRE_PAL, QTY_REMAIN, USED, BULK_EST
FROM PALLETS
LEFT JOIN RACKS
ON RACKS.RACK_ID = PALLETS.LOCATION
WHERE LOAD_OUT = '4R'
HAVING (COALESCE(COUNT,0) COALESCE(PALLETS.BULK_EST,0)) - (COALESCE( PALLETS.USED,0)) > 0
ORDER BY COALESCE(REPL, 1000) ASC, ORD) as q1
Результаты показывают записи в правильном порядке, а текущий итог правильно суммируется на основе критериев порядка.
Последнее, что мне нужно, — это условие, которое будет возвращать только записи, в которых текущий итог имеет значение, удовлетворяющее заданной сумме. Например, 110.
Таким образом, результат будет ограничен первыми 3 строками, так как текущий итог в третьей строке
Я так и не смог разгадать эту последнюю часть.
Комментарии:
1. Отображаемые выходные данные не соответствуют тексту запроса. условие, которое будет возвращать записи только в том случае, если текущий итог имеет значение, соответствующее заданной сумме , добавленной в соответствии с
2. Вы правы, там больше столбцов. Для ясности я скопировал только столбцы, относящиеся к вопросу. Я пробовал, но ничего не вышло. Где бы вы это добавили.
3. Предоставьте полный воспроизводимый пример — СОЗДАЙТЕ ТАБЛИЦУ ВСТАВЬТЕ В желаемый вывод для этих данных подробные объяснения.