![]() |
|
Модераторы: skyboy |
![]()
|
|
| lat |
|
||||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 149 Регистрация: 14.1.2008 Репутация: нет Всего: 1 |
Есть таблица
Товар может повторятся в "name_new". Нужно найти товар с минимальной стоимостью. Вроде ничего сложного, но пока что мне этот запрос не дается. Да ещё и absolute database (ad) как-то долго обрабатывает вложенные запросы. Первое что пришло в голову это
Но это не есть гут, так как поле "f.name as file" разное и его сгруппировать нельзя (в принципе как и все остальные, так как повторятся 100% может только "name_new"). Тогда только так:
В этом случаи все правильно. Кроме того что теперь не понятно как узнать значения всех остальных полей, для найденного мин. значения цены, кроме name_new??? --------------------
Gott weiß ich will kein Engel sein |
||||||
|
|||||||
| Gluttton |
|
||||
![]() Начинающий ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1170 Регистрация: 28.8.2008 Где: Феодосия Репутация: 24 Всего: 54 |
Не совсем понятно... Описана одна таблица, а в приведенном запросе упоминается две... Что за таблица file?
По сути: Что бы отобразить минимальные цены на продукцию, наименование, которой может повторяться, необхоимо произветси поиск минимальных значений с группировкой по ключу, а после выполнить соединение с исходной таблицей (по тому же ключу) и вывести имена с полученым в подзапросе результатом агрегата.
Несколько раз перечитывал сообщение, но так до конца не могу понять, что нужно... Жду ответного сообщения Если нужно отображать не только name_new, а и name1 или name2, то необходимо внести соответствующие изменения в первую строку...
Это сообщение отредактировал(а) Gluttton - 18.10.2009, 15:17 -------------------- Слава Україні! |
||||
|
|||||
| lat |
|
||||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 149 Регистрация: 14.1.2008 Репутация: нет Всего: 1 |
Хм, ну вы уже второй кто мне это пишет. Похоже что так и есть ... странно, неужто так коряво объясняю? =)
Тот запрос что вы привели поверг меня в ступор ... первый раз такое вижу =) Это для какой БД? AD на отрез воспротивился ему, и обматерил сам себя таким образом:
--------------------
Gott weiß ich will kein Engel sein |
||||||
|
|||||||
| Gluttton |
|
||||
![]() Начинающий ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1170 Регистрация: 28.8.2008 Где: Феодосия Репутация: 24 Всего: 54 |
Ну, как бы не факт, может это суббота на меня так действует таблицы две...
Чистый ANSI причем если не ошибаюсь, то даже 92-ой... Запрос обязан пойти на любой СУБД! Я на сервере запрос, не проверял, поэтому ошибка может быть запросто... Предлагаю искать её совместными усилиями Может names зарезервированное слово и его нужно "обнять" кывычками... Или может быть среда в которой Вы работаете регистрозависима и ей не нравиться, что имена таблиц, то с большой буквы, то с маленькой... -------------------- Слава Україні! |
||||
|
|||||
| lat |
|
||||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 149 Регистрация: 14.1.2008 Репутация: нет Всего: 1 |
Попробую еще раз объяснить суть задачи.
Таблица Names
Таблица Files
Таблицы связанны между собой по ключу Files.id --->> Names.file_id Пример данных:
Задача: "Найти все данные по товару, который имеет наименьшую стоимость?" Это сообщение отредактировал(а) lat - 17.10.2009, 22:32 --------------------
Gott weiß ich will kein Engel sein |
||||||
|
|||||||
| Gluttton |
|
|||
![]() Начинающий ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1170 Регистрация: 28.8.2008 Где: Феодосия Репутация: 24 Всего: 54 |
Вот тут у топикстартера сервер возвращал такую же ошибку... Может поможет...
Добавлено через 3 минуты и 10 секунд Вставляются одинаковый ID, опечатка? Или так и должно быть по логике БД? -------------------- Слава Україні! |
|||
|
||||
| lat |
|
||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 149 Регистрация: 14.1.2008 Репутация: нет Всего: 1 |
Ошибка изменилась =) Поменял название таблицы "Names" на "Tovar" Теперь так:
--------------------
Gott weiß ich will kein Engel sein |
||||
|
|||||
| Gluttton |
|
||||
![]() Начинающий ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1170 Регистрация: 28.8.2008 Где: Феодосия Репутация: 24 Всего: 54 |
Говорит, что нет такой колонки как id ... Цитата(lat @ 17.10.2009, 22:06 )
Вставляются одинаковый ID, опечатка? Или так и должно быть по логике БД? Это сообщение отредактировал(а) Gluttton - 17.10.2009, 22:15 -------------------- Слава Україні! |
||||
|
|||||
| lat |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 149 Регистрация: 14.1.2008 Репутация: нет Всего: 1 |
хм ... с чего бы это.
ой, сорри))) Это Я копипастил))) Ид разные ... ща исправлю ... --------------------
Gott weiß ich will kein Engel sein |
|||
|
||||
| Gluttton |
|
||||||
![]() Начинающий ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1170 Регистрация: 28.8.2008 Где: Феодосия Репутация: 24 Всего: 54 |
На скольк я понимаю, то таблицы связаны многие к одному... А раз так, то многим записям из таблицы Names будет соответствовать одна запись таблицы Files... А раз так, то... 1. Находим минимальное значение цены и первичный ключ товара:
2. Нам необходимо вывести всю информацию, поэтому выполняем само-соединение...
3. Добавляем информацию из таблицы Files...
Прошу написать начиная с какого этапа будет ошибка? Я вот тут подумал, а подзапросы той штуковиной в которой Вы выполняете запросы поддерживаються? Это сообщение отредактировал(а) Gluttton - 18.10.2009, 15:16 -------------------- Слава Україні! |
||||||
|
|||||||
| lat |
|
||||||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 149 Регистрация: 14.1.2008 Репутация: нет Всего: 1 |
Да, именно так. (стрелочки уже исправил) =)
Тупо выдало все поля.
Отработал без ошибок только первый запрос. AD подзапросы вроде умеет хавать, но не знаю правильно ли он их пережёвывает. --------------------
Gott weiß ich will kein Engel sein |
||||||||
|
|||||||||
| Gluttton |
|
|||
![]() Начинающий ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1170 Регистрация: 28.8.2008 Где: Феодосия Репутация: 24 Всего: 54 |
До меня только сейчас начало доходить
Что за бред я пишу... Ищу минимальное значение с группировкой по ключу Запрос вернет мне все данные... Дубль два...
Надеюсь теперь то что нужно -------------------- Слава Україні! |
|||
|
||||
| lat |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 149 Регистрация: 14.1.2008 Репутация: нет Всего: 1 |
хм ... либо AD не умеет такое хавать, либо запрос не совсем рабочий) --------------------
Gott weiß ich will kein Engel sein |
|||
|
||||
| Gluttton |
|
||||
![]() Начинающий ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1170 Регистрация: 28.8.2008 Где: Феодосия Репутация: 24 Всего: 54 |
А там в комплекте поставки Help'а никакого нету? Если есть то прошу прицепить к сообщению, что бы можно было по кодам ошибок почитать...
Добавлено через 3 минуты и 7 секунд Предлагаю провести эксперимент... Выполнить два запроса: 1.
2.
Я думаю первый запрос пройдет, а вот интересно, что со вторым будет... Добавлено через 7 минут и 15 секунд Второй запрос проверил на Firebird 2.1 на предмет досадных синтаксических ошибок - работает... Т.е. склонен думать, что если второй запрос не пройдет на AD'e (или в AD'у -------------------- Слава Україні! |
||||
|
|||||
| lat |
|
||||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 149 Регистрация: 14.1.2008 Репутация: нет Всего: 1 |
Вот немного о БД
Вот откуда ноги росли ... походу AD тупит) --------------------
Gott weiß ich will kein Engel sein |
||||||
|
|||||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Составление SQL-запросов | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |