Получать уникальные записи только с помощью оператора Where? - PullRequest
0 голосов
/ 04 сентября 2018

Я получил следующую настройку: база данных Oracle в качестве бэк-энда, интерфейс, предоставляемый нашим отделом ИТ-баз данных, и мой интерфейс Excel-VBA.

Интерфейс предоставляет множество функций для вставки, обновления и чтения данных. Функция «DB_connection.read_test» принимает входные данные:

  • TestID (0 = ВСЕ)

  • Оператор SQL Where

  • Имя таблицы, в которой будут храниться данные

  • Установить заголовок базы данных как логическое значение true = установить, false = оставить как есть

Функция показывает вид, который мне приготовил бэкэнд. Теперь есть два столбца, которые я хочу сравнить, если они неравны «PRODID» и «ArticleID» и получают все уникальные пары «PRODID» и «ArticleID». Проблема здесь в том, что я могу написать только оператор where.

Sub query_ProdID_uneq_ArticleIDlocal()
Dim SQL_Where As String

SQL_Where = "PRODID <> ARTICLEID"
Call DB_connection.read_test(0, SQL_Where, "Pruefungen_Tab", True)

End Sub

Этот код выше работает, но получает все данные, где PRODID <> ARTICLEID. Так что они не уникальны . Я мог бы работать в VBA-Excel и сводить пары к разным парам.

Но есть ли способ сделать это с правильным выражением WHERE?

SQL_Where = "PRODID <> ARTICLEID and Unique(ArticleID)"

или как то так?

Пример данных:

Example Data from the query above. As you can see ArticleID and ProdID are not equal.

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