Я написал инструкцию SQL в Access, которая ищет строки данных с тем же значением в своем столбце «Код», а затем просматривает эти строки с тем же значением «Код» и находит строки с напротив значений столбца «Деньги Amt» (например, одна строка будет иметь значение 200, а другая - -200), строка с помеченными столбцами затем заполняется цифрой «999», когда пары этих противоположных значений с тем же кодом будут найдены ,SQL in Access, проблема с подзапросом
Проблема в том, что некоторые из моих строк спариваются в нечетных нумерованных группах, а не парами 2. Я хочу, чтобы было соотношение 1: 1 для противоположных значений, чтобы они по существу отрицали друг друга.
Вот код, который я использовал для получения результата.
UPDATE [Actual Debt]
SET LineItem = 999
WHERE EXISTS
(SELECT * FROM [Actual Debt] as ad2
WHERE ad2.Code = [Actual Debt].Code
AND ad2.[Money Amt] = - [Actual Debt].[Money Amt]);
На картинке вы можете видеть, что в первые 4 строки кода заселенных 2 пары противоположных значений «Деньги АМТ», как предполагалось. Но в нижних 3 строках должна быть только одна пара «999», но вместо этого она заполняет нечетное количество строк.
Как получить подзапрос, чтобы заполнить поле «Линия» только для противоположных пар.
Image from before I put in the current code
Спасибо заранее.
Я думаю, вы должны показать перед собой таблицу. 3 строки на нижней части делают pefect смысл, предполагая наличие двух записей с '+ 0.9' и одной записью с' -0.9'. –
Если у вас есть дубликаты, это будет очень сложно сделать в запросе MS Access. Я могу предположить, что вы просто делаете это в приложении. Другие базы данных имеют функциональность, которая делает это возможным в одном запросе. –
Я добавил ранее. Есть ли способ написать код, чтобы он мог делать только пары из 2? – Mccormack