Конференция на VBStreets - Преглед на теми - Как да премахнете дублиращи се стойности от ComboBox

  1. На някое от тези места, където след това можете да й се обадите.
  2. Синтаксис

ИЗБЕРЕТЕ [ALL DISTINCT DISTINCTROW [TOP n [PERCENT]]] ОТ таблицата

По-долу са аргументите към оператора SELECT, съдържащ тези предикати:

ВСИЧКИ Ако SQL операторът не съдържа никакъв предикат, тогава се приема предикатът ALL. Механизмът на базата данни на Microsoft Jet избира всички записи, които отговарят на условията, посочени в SQL оператора. SQL изразите по-долу са еквивалентни; те връщат всички записи от таблицата Employees: Код: Изберете всички SELECT ALL * FROM Employees ORDER BY EmployeeId Код: Изберете всички SELECT * FROM Employees ORDER BY EmployeeId; DISTINCT Изключва записи, които съдържат дублиращи се стойности в избраните полета. За да бъде включен запис в резултата от заявката, стойностите във всяко поле, включено в оператора SELECT, трябва да са уникални. Например в таблицата "Служители" има съименници. Ако два записа съдържат стойността "John" в полето за фамилно име, следният SQL оператор ще върне само един от тях: Код: Изберете всички SELECT DISTINCT LastName FROM Employees; Ако пропуснете предиката DISTINCT, тази заявка ще върне и двата записа за фамилното име Джон. Ако клаузата SELECT съдържа повече от едно поле, тогава наборът от стойности във всички тези полета трябва да е уникален, за да включи запис в резултата от заявката.

DISTINCTROW Пропуска данни въз основа на цели повтарящи се записи, а не на отделни повтарящи се полета. Например, беше създадена заявка, която обединява таблиците „Клиенти“ и „Поръчки“.в полето "Клиент". Няма дублиращи се стойности в полето „Клиент“ на таблицата „Клиенти“, но те са в полето със същото име в таблицата „Поръчки“, тъй като всеки клиент може да направи няколко поръчки. Следният SQL израз показва как можете да използвате предиката DISTINCTROW, за да получите списък с клиенти, които са направили поне една поръчка, без да включвате подробности за самите поръчки: Код: Изберете всички SELECT DISTINCTROW Име FROM Customers INNER JOIN Orders ON Customers.CustomerCode= Orders.CustomerCode ORDER BY Name Ако пропуснете DISTINCTRO Предикат W, резултатът от изпълнението. Заявката ще включва множество редове за всеки клиент, който е направил множество поръчки.Предикатът DISTINCTROW засяга резултата само ако не всички полета от анализираните таблици са включени в заявката. Предикатът DISTINCTROW се игнорира, ако заявката съдържа само една таблица или всички полета от всички таблици.