Я пытаюсь получить поля, значение которых не совпадает с базой в сравниваемых строках. Это сложно объяснить, поэтому я приведу таблицу с примерами и ее результаты.
Таблица: Заказы
| seqid | orderId | taskId | field1 | field2 | field3 | field4 |
+---------+-----------+----------+----------+----------+----------+----------+
| 1 | 1 | 1 | a | b | c | d |
| 2 | 1 | 2 | a | b | c | d |
| 3 | 2 | 1 | a | b | c | d |
| 4 | 2 | 2 | a | c | c | c |
| 5 | 3 | 1 | a | a | a | a |
Результаты:
| OrderId | FieldName | Error |
+-----------+-------------+---------+
| 2 | field2 | 1 |
| 2 | field4 | 1 |
Здесь вы можете увидеть, что orderId
будет сравниваться с использованием taskId
. От field1 до field4 - поля, которые нужно проверить, если их значения не совпадают. Если так, то получите имя поля. Столбец Error
не является приоритетом, вы можете игнорировать его. Если для orderId есть только одна задача, то она не будет сравниваться.
Мой первый план - использовать два запроса, которые будут разделять taskId
, тогда Java сделает все остальное. Но если это возможно, просто запрос, это было бы здорово. Даже если я не разбираюсь в хранимых процедурах, если это единственный способ, позвольте мне показать, и я проверю это.
У меня еще нет ни одного рабочего запроса, и я даже не получил результат, близкий к тому, что я хотел. Любой ответ будет оценен. Спасибо!
ОБНОВЛЕНИЕ:
Полагаю, на результаты сложно ответить. Я опубликую другой результат, который, я думаю, легко решить.
Results2
| orderId | field1 | field2 | field3 | field4 |
+-----------+----------+---------+---------+----------+
| 1 | 0 | 0 | 0 | 0 |
| 2 | 0 | 1 | 0 | 1 |
Для вторых результатов мне нужно знать, имеет ли поле несоответствующее значение, если да, оно будет отображаться 1. Процесс этих результатов заключается в сравнении двух строк, которые являются Task = 1
и Task = 2
с одинаковыми orderId
, Я отфильтрую поля, которые имеют непревзойденное значение в Java.
Я надеюсь, что кто-то здесь может ответить на это даже вторые результаты. Если вы можете ответить на первые результаты, это было бы очень полезно.