Форум программистов, компьютерный форум, киберфорум
Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.53/352: Рейтинг темы: голосов - 352, средняя оценка - 4.53
0 / 0 / 0
Регистрация: 05.03.2014
Сообщений: 34

DISTINCT применяемый только к одному столбцу

02.10.2015, 11:51. Показов 64687. Ответов 21
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток. Задача на мой взгляд очень простая, но у меня не получается сделать работающий запрос. СУБД - IBM DB2. Извлекаются данные из двух таблиц, которые связываются по ID. При выполнении запроса с DISTINCT, он отбирает уникальные комбинации всех полей одной записи. А мне нужны уникальные записи одного поля, даже если им соответствует по две записи из другого поля.
SQL
1
2
3
SELECT DISTINCT t1.numb, t1.numadr, t1.fam, t1.im, t2.god, t2.pr1, t2.pr2 
FROM t1 INNER JOIN t2 ON t1.id = t2.id
WHERE (t1.numadr = 5) AND (t2.pr1 = 1)
Так как t1.number соответствует две записи из t2.year у меня получаются повторяющиеся записи в t1.number. Именно это поле у меня в результирующей выборке должен содержать уникальные поля, и без разницы какой из соответствующих ему полей t2 он подставит в результате. Выходом должен был стать group by, на DB2 на него ругается.
Кликните здесь для просмотра всего текста
Выражение, начинающееся с "ID " и заданное в условии SELECT, условии HAVING или условии ORDER BY, не задано в условии GROUP BY, или же оно задано в в условии SELECT, условии HAVING или условии ORDER BY вместе с функцией столбца, но условие GROUP BY не задано.

Объяснение:

В операторе SELECT есть одна из следующих ошибок:
* Указанное выражение и функция столбца содержатся в условии SELECT,
условии HAVING или условии ORDER BY, но при этом отсутствует условие
GROUP BY.
* Указанное выражение содержится в условии SELECT, условии HAVING или
условии ORDER BY, но не входит в условие GROUP BY.

Указанное выражение начинается с "<начало-выражения>". Это выражение
может представлять собой имя одного столбца.

Если в условии HAVING заданы функции NODENUMBER или PARTITION,
считается, что все столбцы ключей разделения основной таблицы входят в
условие HAVING.

Оператор невозможно обработать.

Действия пользователя:

Исправьте оператор, включив в условие GROUP BY выражение, входящее в
условие SELECT, условие HAVING или условие ORDER BY, или удалив функцию
столбца из оператора SELECT.

sqlcode: -119

sqlstate: 42803

Что можете предложить?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
02.10.2015, 11:51
Ответы с готовыми решениями:

(Insert) Несколько значений одному столбцу
Всем привет. Возможно ли вставить несколько значений одному столбцу? Например: Есть таблица Клиент с полями (ID, Fio, Phone), Так же...

Извлечь данные по одному столбцу
Доброго времени суток. Нужна ваша помощь. Делаю запрос и столкнулся со следующим вопросом. В большой таблице, в одном из столбцов ...

ADO vs Excel Вывести дубликаты (повторения по одному столбцу)
С помощью ADODB.Connection прочитать данные с листа эксель и вывести на лист № 2 целиком записи, в которых дублируется значение в поле...

21
5967 / 4543 / 1094
Регистрация: 29.08.2013
Сообщений: 28,157
Записей в блоге: 3
09.04.2019, 14:01
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от Allleksey Посмотреть сообщение
Нужен код запроса, который бы выдал результат
а по какому признаку отобрать именно "два", а не "три"?
0
66 / 64 / 24
Регистрация: 14.10.2014
Сообщений: 339
29.04.2019, 19:16
Такое ощущение, что нужно взять последнюю запись, которая определяется одним из 20 полей,например с типом дата, о которым мы не знаем.
По первоначальной постановке можно выдавать первую попавшуюся строку в группе по полю Main_tube_type.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
29.04.2019, 19:16
Помогаю со студенческими работами здесь

DISTINCT по одному полю с выводом значений по остальным
Подскажите пожалуйста как сделать DISTINCT по одному полю c максимальной датой чтобы при этом также выводились значения остальных полей....

Несколько значений одному столбцу
Добрый день. И снова к вам. Собственно, из заголовка все ясно. Необходимо вытащить записи, где dostup = 1, 5, 3, примеру.

Entity sql составление запроса с DISTINCT по одному полю
Доброго всем времени суток. Нужно разработать запрос для получения данных на Entity sql. Обычный запрос создать не проблема, но мне нужен...

Сортировка строк по одному столбцу
Как отсортировать таблицу по одному числовому столбцу, чтобы числа шли по возрастанию вместе с своими строками.? Спасибо.

Фильтрация в DataGridView по одному столбцу
Фильтрация в DataGridView по одному столбцу,чтобы при вводе данных из этого столбца в TextBox и нажатии на кнопку, скрывались строки не...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
22
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru