Модераторы: Akina
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Вывод повторяющихся записей, подскажите 
V
    Опции темы
etc
Дата 2.11.2007, 16:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


FCZ
*


Профиль
Группа: Участник
Сообщений: 227
Регистрация: 23.2.2005
Где: Красногорск

Репутация: нет
Всего: 3



Суть Вывести одинаковые записи.
Дано. Таблица User
Нужно вынести все записи из User.name, данные которых дублируются.
Покапавшись в SQL для чайников и инете пришел к запросу такого вида:

Код

SELECT DISTINCT t.name
FROM [User] AS t
WHERE EXISTS (SELECT * FROM User WHERE t.name = User.name);


Выводит полностью всех, покапавшись дальше, получилось:

Код

SELECT DISTINCT t.name
FROM [User] AS t
WHERE EXISTS (SELECT * FROM User WHERE t.name = User.name AND  user.firm <>t.firm);


Работает, но.. Если запись в столбце запись firm одинаковая, то он записи эти уже не выводит. 
Ребзя, чес слово к концу пятницы уже мозг отказывается работать, покажите как пнуть надо. 

Спасибо!
PM WWW ICQ   Вверх
ivashkanet
Дата 2.11.2007, 16:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодю потиху
****


Профиль
Группа: Участник Клуба
Сообщений: 3684
Регистрация: 23.2.2006
Где: Гомель, Беларусь

Репутация: 1
Всего: 149



Код

SELECT name
FROM [User]
group by name
having count(1)>1

PM MAIL WWW ICQ   Вверх
bopoha
Дата 2.11.2007, 17:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1283
Регистрация: 10.5.2006
Где: Беларусь, Минск

Репутация: 21
Всего: 21



ivashkanet, 
Почему в count(1) именно 1. Может *?

PM MAIL WWW ICQ Skype GTalk   Вверх
ivashkanet
Дата 2.11.2007, 17:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодю потиху
****


Профиль
Группа: Участник Клуба
Сообщений: 3684
Регистрация: 23.2.2006
Где: Гомель, Беларусь

Репутация: 1
Всего: 149



чтобы складывать единички а не что-нить другое smile 

P.S. Count выполняется для всех элементов входящих в группу. Т.е. если их 5 то будет просуммировано 5 единиц и тыды

Добавлено через 54 секунды
Цитата(bopoha @  2.11.2007,  17:18 Найти цитируемый пост)
Может *

Хочешь -- складывай звездчки, я люблю складывать единички  smile 
PM MAIL WWW ICQ   Вверх
etc
Дата 2.11.2007, 17:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


FCZ
*


Профиль
Группа: Участник
Сообщений: 227
Регистрация: 23.2.2005
Где: Красногорск

Репутация: нет
Всего: 3



ivashkanet, респект и уважуха. не думал что до окончания пятницы сделаю это. Всё верно вышло.
Зачем тогда мне SQL для чайникоф мозги пудрил.....
PM WWW ICQ   Вверх
ivashkanet
Дата 2.11.2007, 17:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодю потиху
****


Профиль
Группа: Участник Клуба
Сообщений: 3684
Регистрация: 23.2.2006
Где: Гомель, Беларусь

Репутация: 1
Всего: 149



etc, не за что smile

P.S. Просто где-то 2-3 месяца назад я тоже чистил повторяющиеся записи smile
PM MAIL WWW ICQ   Вверх
bopoha
Дата 2.11.2007, 18:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1283
Регистрация: 10.5.2006
Где: Беларусь, Минск

Репутация: 21
Всего: 21



ivashkanet, 
Сount ничего не складывает, а считает количество записей в группе. Входным параметром является имя поля. В этом случае, если поле содержит NULL, то в количество оно не попадает. В этом случае * означает считать количество всех записей.
Что будет если подставить 1, я не знаю, что произойдет. Посчитается количество записей по 1-у полю?

Это сообщение отредактировал(а) bopoha - 2.11.2007, 18:33
PM MAIL WWW ICQ Skype GTalk   Вверх
ivashkanet
Дата 2.11.2007, 18:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодю потиху
****


Профиль
Группа: Участник Клуба
Сообщений: 3684
Регистрация: 23.2.2006
Где: Гомель, Беларусь

Репутация: 1
Всего: 149



bopoha, да, то я глюканул (перепутал с суммой). Возможно Count(1) считает по первому столбцу smile 
Поэтому и те спасибо. За наводку...

P.S. И кто меня научил, что count(1) лучше  smile 
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "MS Access"
Akina
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • Используйте теги [code=vb][/code] и [code=sql][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Akina.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | MS Access | Следующая тема »


 




[ Время генерации скрипта: 0.0458 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.