Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: Как составить правильно запрос к БД
Ну все так просто, мне нужно что бы именно не группировались элементы где s_id != 0 но в конечный результат они попадали!
То есть вам просто нужно свернуть записи, где s_id = 0 в одну строку?
нет.... у меня есть таблица большая там s_id разные обсалютно, но группировать по этому свойству надо те элементы, где s_id != 0, т.е. те что не нулевые мы группируем остальные пропускаем дальше...
kotyara1979
Отправлено: 30 Июля, 2014 - 00:32:45
Частый гость
Покинул форум
Сообщений всего: 247
Дата рег-ции: Окт. 2012
Помог: 7 раз(а)
Ну, если я правильно понял, то нужно соединять два запроса.
Наименование и порядок полей в запросах только синхронизируйте. Если порядок не важен, то обёртку не нужно.
----- Сделать можно все. Главное одеть каску.
difight
Отправлено: 30 Июля, 2014 - 10:43:18
Посетитель
Покинул форум
Сообщений всего: 355
Дата рег-ции: Нояб. 2011
Помог: 3 раз(а)
[quote=kotyara1979][/quote]
Да этот запрос работает, только очень тяжелый получается, подгружает товары пару минут, оптимизировать его как нибудь можно ?
----- Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
Мелкий
Отправлено: 30 Июля, 2014 - 11:30:05
Активный участник
Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009 Откуда: Россия, Санкт-Петербург
Помог: 618 раз(а)
Замените свои s_id =0 на NULL и будет элементарная группировка по индексу и именно та выборка, которую вы хотите. Ведь NULL!=NULL, потому между собой группироваться не будут.
----- PostgreSQL DBA
difight
Отправлено: 30 Июля, 2014 - 11:37:22
Посетитель
Покинул форум
Сообщений всего: 355
Дата рег-ции: Нояб. 2011
Помог: 3 раз(а)
Мелкий пишет:
Замените свои s_id =0 на NULL и будет элементарная группировка по индексу и именно та выборка, которую вы хотите. Ведь NULL!=NULL, потому между собой группироваться не будут.
Эта вся багадельня на движке(hostcms)... тут пол движка перелопачивать надо будет что бы Null туда записывался =)
Мелкий
Отправлено: 30 Июля, 2014 - 12:39:34
Активный участник
Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009 Откуда: Россия, Санкт-Петербург
Помог: 618 раз(а)
Можно вывернуться дополнительным полем и парой триггеров.
Добавляете ещё одно поле в таблицу, идентичное s_id, но хранящее NULL. Вешаете триггеры before insert и before update, которые будут это поле апдейтить.
----- PostgreSQL DBA
difight
Отправлено: 30 Июля, 2014 - 15:33:57
Посетитель
Покинул форум
Сообщений всего: 355
Дата рег-ции: Нояб. 2011
Помог: 3 раз(а)
Мелкий пишет:
Можно вывернуться дополнительным полем и парой триггеров.
Добавляете ещё одно поле в таблицу, идентичное s_id, но хранящее NULL. Вешаете триггеры before insert и before update, которые будут это поле апдейтить.
Сделал немного подругому, но все равно спасибо что предложили ! Всем спасибо проблема решена
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.