запрос, чтобы проверить, существуют ли записи в обоих или любом из 2 столбцов - PullRequest
0 голосов
/ 05 апреля 2020

У меня есть таблица, где мне нужно сравнить 2 столбца. См. Пример ниже: мне нужен запрос, где я должен сгруппировать столбцы 1 и 2 и сказать AB C = XYZ = 123, сгруппировать по дате и получить сумму qty.

Я пробовал запрос, в котором я использовал сравнение (column1 = столбец2 или столбец2 = столбец1) & используемая группа по дате. Но я не получаю ожидаемого результата.

Любая помощь будет оценена.

enter image description here

Редактировать: Добавлено Пример данных и ожидаемый результат. Я ожидаю ответа, когда строки 1 и 2 совпадают, поскольку данные из столбца 2 совпадают в столбце 1.

enter image description here

1 Ответ

0 голосов
/ 05 апреля 2020

Я пытаюсь создать select для ожидаемого результата, но будут установлены некоторые операторы для игнорируемой строки, которая была изменена:

SELECT col1, col2, done_at, SUM(qty) FROM (
    SELECT col1, col2, done_at, qty, 0 AS semiline
        FROM test WHERE 1

UNION ALL

    SELECT test1.col2 AS col1, test1.col1 AS col2, test1.done_at, test1.qty, 1 AS semiline
        FROM test AS test1
        JOIN test AS test2 ON test1.col2=test2.col1
        WHERE 1 GROUP BY test1.col2, test1.col1, test1.done_at

) AS result WHERE 1
GROUP BY col1, done_at;

+------+------+------------+----------+
| col1 | col2 | done_at    | SUM(qty) |
+------+------+------------+----------+
| ABC  | XYZ  | 2017-12-29 |        2 | <-- this row is bad, i think...
| XYZ  | 123  | 2017-12-29 |        3 |
| XYZ  | 123  | 2018-10-04 |        7 |
+------+------+------------+----------+

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...