SQL Выберите DISTINCT с ГДЕ КАК - PullRequest
0 голосов
/ 03 мая 2019

Я пытаюсь выбрать разные BILLCOMPANY из таблицы, где BILLCOMPANY имеет значение 'value', однако он возвращает все совпадения, а не только разные.

Предложения?

SELECT DISTINCT BillCompany,  UniqueID
From Customer
WHERE BillCompany LIKE  <cfqueryparam value="%#URL.term#%" cfsqltype="cf_sql_varchar">

Пример данных
UniqueID / SiteCompany / BillingCompany
1 / McDonalds-213 / ABC Management
2 / McDonalds-215 / XYZ Company
3 / McDonalds-817 /ABC Management
4 / Burger King-6 / XYZ Company
5 / Dairy Queen-7 / Billy Bob Corp
6 / KFC-4857 / ABC Management

В конце концовМне нужен список:
Управление ABC
Компания XYZ
Корпорация Билли Боба

Позже будет использоваться UniqueID для получения оставшейся части адреса выставления счета.

Ответы [ 2 ]

3 голосов
/ 03 мая 2019

Вы можете использовать GROUP BY:

SELECT BillCompany,  MIN(UniqueID) AS UniqueID  -- here should be business logic min/max
From Customer
WHERE BillCompany LIKE  <cfqueryparam value="%#URL.term#%" cfsqltype="cf_sql_varchar">
GROUP BY BillCompany
0 голосов
/ 03 мая 2019

Я думал об этом. Мне не нужен UniqueID. На следующем шаге я могу сопоставить BillCompany вместо идентификатора.

...