- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу

Как снизить ДРР до 4,38% и повысить продажи с помощью VK Рекламы
Для интернет-магазина инженерных систем
Мария Лосева

В 2023 году 36,9% всех DDoS-атак пришлось на сферу финансов
А 24,9% – на сегмент электронной коммерции
Оксана Мамчуева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Пишу скрипт, сварганил запрос и понимаю что он мне немного не подходит. Вот что сваял.
t2.type_id,
t2.text
FROM firm_items as t1
INNER JOIN firm_items_fields_value as t2 on t1.id = t2.item_id
WHERE t1.category_id = 45
Результат такой
id type_id text
383 7 (495) 777-77-77
383 2 Иванов Петр Михайлович
383 6 site.ru
383 1 info@site.ru
И тут я понимаю что все равно придется делать лишние запросы в цикле.
А можно ли изменить запрос что бы результат был в виде
383 (495) 777-77-77 Иванов Петр Михайлович site.ru info@site.ru
Что-то типа
(t2.type_id = 7) as tel
(t2.type_id = 2) as dir
(t2.type_id = 6) as site
(t2.type_id = 1) as email
Можно как-то так?
Либо сделайте доп таблицу в алиасами type_id, alias -> 7,tel и джойните ее.
Либо сделайте хардкод справочника алиасов на бэкенде и поставляйте алиас в результат вашего запроса
Это нужно для разовой операции, т.е. быстро в пределах одного запроса никак?
Это нужно для разовой операции, т.е. быстро в пределах одного запроса никак?
Тогда на бэке подставляйте в в результат вашего запроса алиасы вместо id_type.
В рамках вашего запроса - не подскажу
Можно как-то так?
Попробуйте так:
FROM firm_items as t1
INNER JOIN firm_items_fields_value as t2 on t1.id = t2.item_id
WHERE t1.category_id = 45
Или почитайте про GROUP_CONCAT, у себя использую, нет времени сейчас искать. Наверное нужно ещё GROUP BY, или убрать из SELECT t2.type_id
Dram,
group_concat , учитывая что уже вроде 3 раз на него в похожих ситуациях Вам же отвечаем, расписывать не будем:)
Немного не то - все равно то поле куда все соберет group_concat придется распаршивать, а затем если мне нужно что-то будет обновить, я не буду знать ID этого поля.
Ну да ладно, не суть уже, я написал скрипт, + 1 запрос роли не сыграл.
Немного не то - все равно то поле куда все соберет group_concat придется распаршивать, а затем если мне нужно что-то будет обновить, я не буду знать ID этого поля.
Ну да ладно, не суть уже, я написал скрипт, + 1 запрос роли не сыграл.
У Вас не запрос вида INSERT .... (SELECT), т.е. не сразу льёте выборку в базу - одним запросом из одной таблицы в другую? Если нет, то на том же php крутите как хотите результаты выборки, собирайте массивы по любым ключам, объединяйте поля, в каком хотите порядке
Swir, так и сделал - просто вместо одного цикла пришлось писать второй. Думал обойтись одним...
Swir, так и сделал - просто вместо одного цикла пришлось писать второй. Думал обойтись одним...
Если циклы без обращений к базе в каждой итерации, так чего их бояться.
С обращениями, поэтому и хотел сразу все в одном запросе получить и по полочкам разложить.