Вопрос № 97718: Здравствуйте, эксперты.
Работаю через ADO. Помогите составить SQL запрос для выборки только тех записей которые имеют по одному полю одинаковое значение, например встречаются по 2 раза. ...
Вопрос № 97.718
Здравствуйте, эксперты.
Работаю через ADO. Помогите составить SQL запрос для выборки только тех записей которые имеют по одному полю одинаковое значение, например встречаются по 2 раза.
Отправлен: 08.08.2007, 13:26
Вопрос задал: Val (статус: Посетитель)
Всего ответов: 3 Мини-форум вопроса >>> (сообщений: 4)
Отвечает: Shveps
Здравствуйте, Val!
В приложении написан запрос тот, который я применял для своего случая. CAST сделан для того, чтобы можно было агрегировать значения типа uniqueidentifier.
Приложение:
--------- Пиво ф топку !!! Водку Тоже !!!
Ответ отправил: Shveps (статус: 7-ой класс)
Ответ отправлен: 08.08.2007, 14:20
Отвечает: Карабанов Алексей
Здравствуйте, Val!
Подобная задача решается с помощью вложенной инструкции Select.
В качестве примера предлагаю Вашему вниманию запрос на повторяющиеся записи из таблицы Товары, повторяющиеся значения отбираются по полю ЕдиницаИзмерения
SELECT Товары.ЕдиницаИзмерения, Товары.КодТовара, Товары.Цена
FROM Товары
WHERE (((Товары.ЕдиницаИзмерения) In (SELECT [ЕдиницаИзмерения] FROM [Товары] As Tmp GROUP BY [ЕдиницаИзмерения] HAVING Count(*)>1 )))
ORDER BY Товары.ЕдиницаИзмерения;
Как видите, в качестве условия с помощью In проверяется, входит ли значение интересующего нас поля в подзапрос Select из той же таблицы по тому же полю.
Если что-то непонятно, пишите мне на электронный адрес.
--------- Дорогу осилит идущий!
Ответ отправил: Карабанов Алексей (статус: 6-ой класс)
Ответ отправлен: 08.08.2007, 14:30
Отвечает: Mishell
Здравствуйте, Val!
см. пример запроса в приложении
<tablename> - имя вашей таблицы
<fieldname> - поле в таблице, по которому проверяем кол-во повторений
п.с.: похоже этот вопрос надо было задавать не в этот раздел...
Приложение:
Ответ отправил: Mishell (статус: 4-ый класс)
Ответ отправлен: 08.08.2007, 14:58