Выберите Различить и показать записи, где столбец X не совпадает - PullRequest
0 голосов
/ 23 октября 2019

У меня есть база данных со структурой:

enter image description here

Я пытаюсь написать запрос, чтобы показать, где Supp отличается. (Supp должен быть одинаковым для всех записей, поэтому мне нужно идентифицировать записи, исправленные) Таблица содержит более 55 000 строк

Просто список кодов, где Supp не совпадает для каждого местоположения, будетбыть достаточным. Выбор различных или группировать по, но не уверены, как запросить Supp, если отличается. Например, с указанными выше данными: 1478 и 5689 будут производными строками.

Любая помощь будет принята с благодарностью.

1 Ответ

4 голосов
/ 23 октября 2019

В простейшем случае получить список из Code с более чем одним Supp:

SELECT Code
  FROM testtable
  GROUP BY Code
  HAVING COUNT(DISTINCT Supp) >= 2

Вывод:

1478
5689

Если вы хотитеполучить полные строки (или частично, изменив SELECT *), попробуйте что-то вроде:

SELECT a.*
  FROM testtable a
    INNER JOIN (
                SELECT Code
                  FROM testtable
                  GROUP BY Code
                  HAVING COUNT(DISTINCT Supp) >= 2
                ) b ON b.Code = a.Code

Вывод:

Location    Code    Supp    Ref
1           1478    CAM001  203442
2           1478    CAM001  203442
99          1478    COL001  203442
1           5689    SAM001  65789
2           5689    SUL001  65789
99          5689    SUL001  65789

Смотрите это в действии на sqlfiddle .

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