Форум программистов, компьютерный форум, киберфорум
PostgreSQL
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
4 / 4 / 6
Регистрация: 23.05.2012
Сообщений: 445

Почему запрос postgres выдает на выходе массив?

14.02.2016, 04:53. Показов 1431. Ответов 1

Студворк — интернет-сервис помощи студентам
Добрый день,

Есть 3 связанных последовательно таблички:

categories ( id, name)
products ( id, category_id, name )
tarifs (id, product_id, price, percent)

Необходимо , имея id категории, найти наименьший тариф среди всех комнат, в случае если у тарифа есть процент в поле (percent не NULL), то необходимо выполнить преобразование значения. Сделал набросок, но на выходе имею массив почему - то. Дажк если ставлю Distinct, то значение на выходе - не минимальный тариф из набора:

SQL
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
SELECT
        DISTINCT
          CASE
            WHEN percent IS NOT NULL
              THEN
                MIN(price) +
                (MIN(price) * percent / 100)
            ELSE
              MIN(price)
          END
            AS min_price
            FROM
                        tarifs
            LEFT JOIN
                        products
            ON
                        tarifs.product_id_id = products.id
      LEFT JOIN
                        categories
            ON
                        products.category_id = categories.id
      WHERE
            categories.id = :id
      GROUP BY
            tarifs.id
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
14.02.2016, 04:53
Ответы с готовыми решениями:

Ls+odbc в postgres - один и тот же запрос выдает разные данные
Добрый день, коллеги! Есть некий скрипт, работает уже дцать лет, а тут внезапно стал работать нестабильно - на один и тот же SQL запрос...

Глобальный вектор. Почему на выходе этот массив пуст?
юзаю либу вектор. почему на выходе этот массив пуст? std::vector<int> qw;//global int main() { int i=1; qw.push_back(i); ...

Почему массив путей файлов не обнуляется при выходе из программы
Foreach считывает файлы по циклу в папке, но т.к. их бывает много то сделана сортировка по дате. Суть проблемы следующая: файлов много, и...

1
1264 / 978 / 384
Регистрация: 02.09.2012
Сообщений: 3,024
14.02.2016, 16:21
Лучший ответ Сообщение было отмечено EVOSandru6 как решение

Решение

почему группируете по идентификатору тарифа? в чем смысл такой группировки? если вы ищете в категории, то по категории и надо группировать (это предположение из общих соображений, ваших данных я не знаю). И второе, уберите лишний JOIN по категории. id категории вы и так знаете, зачем лишнее связывание??
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
14.02.2016, 16:21
Помогаю со студенческими работами здесь

Postgres рекурсивный запрос?
В общем имею рекурсивный запрос WITH RECURSIVE temp1 ( p_id,p_parent,p_title,PATH, LEVEL, NAME ) AS ( SELECT...

Запрос с параметром из Delphi в Postgres
Доброго времени суток. Поиск конкретно для связки Delphi + Postgres ничего не дал. Есть БД (Postgres) есть приложение Delphi. В...

Почему в итоге выдает ноль, когда возвращаем массив из функции?
Идея такая, есть массив (Alphabet), как ни странно отвечает за наши символы, вводимые с клавиатуры, за которые отвечает массив Source, а...

Golang postgres проверить если запрос не вернул записей
Есть такой код: func ModelLoginAuth(id, pwd string) (*MedReg) { //Cписок мед регистраторов rows := db.Select(`SELECT fam,...

Почему в yii при create в postgres ругается на уникальность ключа?
Добрый день, Есть такой экшн регистрации пользователей, я в него попадаю: public function actionRegistration() { ...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru